nonlocal:一つ外の関数・global:一番外
こんにちは、徳です。
デジタルDIYができるようコーディング・プログラミング・画像加工・動画編集などを本やYouTubeで勉強しています。
現在は初心者なので、とにかくゆっくり進んでいくと思います。
また、「間違っていること」や「こうした方が良いよ」などがあれば、コメントなどしていただけたら幸いです。
では、いきましょう!
Python
今回は、
nonlocal宣言・global宣言
についてです。
Pythonで関数を使用しているときに、
関数外の変数を使用したい
ことありますよね?
nonlocal宣言・global宣言はともに関数外の変数を使用する時に使うものです。
それではよろしくお願いします。
nonlocal宣言・global宣言
説明
nonlocal宣言・global宣言とは
nonlocal宣言・global宣言とは、
関数外の変数を関数内で使用するために宣言するもの
です。
どんな時に使用するの?
nonlocal宣言・global宣言はともに、
関数外にある変数を関数内で使用したい
ときに使用します。
そもそも、関数内で使用できる変数は、
関数内の変数のみ
です。
つまり、外の変数と同じ変数を使用するには、どちらかの宣言をする必要があります。
何が違うの?
nonlocal宣言・global宣言の違うところは、
参照できる変数の場所
です。
nonlocal宣言
一つ外の関数内の変数
global宣言
一番外の変数
です。
書き方
書き方はともにシンプルです。
nonlocal宣言
nonlocal 変数名
となります。
global宣言
global 変数名
となります。
例
関数の実行回数の表示 (global宣言)
count = 0
def out_function():
count = 3
def in_function ():
global count
count += 1
print (f"{count}回目")
return in_function()
out_function()
掛け算をする (nonlocal宣言を使用)
def out_function():
count = 3
def in_function():
nonlocal count
for x in range(1,10):
num = count * x
print(f"{count}×{x}={num}")
return in_function()
out_function()
注意点
あまり使いすぎないようにしよう
まとめ
今回は、
nonlocal宣言・global宣言
について紹介させていただきました。
これらの宣言は、
関数外の変数を関数内で使用するための宣言
です。
基本、関数外の変数を関数の中で使用するとエラーが起きてしまいます。
しかし、
プログラミングをしていると関数外の変数を使用したくなることもよくあります。
その時は、こちらの二つを使用して使えるようにしましょう。
二つの違いは、
nonlocal宣言
一つ外の関数内の変数
global宣言
一番外の変数
です。
間違えないように気をつけましょう。
最後まで読んでいただき、ありがとうございました。
コメント