Pythonスコープ
変数は、それが作成された範囲からのみ使用できます。これをスコープと呼びます。
ローカルスコープ
関数内で作成された変数は、その関数の*ローカルスコープ*に属し、その関数内でのみ使用できます。
関数内の関数
上の例で説明したように、変数x
は関数の外部では使用できませんが、関数内のどの関数でも使用できます。
例
ローカル変数は、関数内の関数からアクセスできます。
def myfunc():
x = 300
def myinnerfunc():
print(x)
myinnerfunc()
myfunc()
グローバルスコープ
Pythonコードの本体で作成された変数はグローバル変数であり、グローバルスコープに属します。
グローバル変数は、グローバルおよびローカルの任意のスコープ内から使用できます。
変数の命名
関数の内部と外部で同じ変数名を使用して操作する場合、Pythonはそれらを2つの別個の変数として扱います。1つはグローバルスコープ(関数の外部)で使用可能で、もう1つはローカルスコープ(関数の内部)で使用できます。
グローバルキーワード
グローバル変数を作成する必要があるが、ローカルスコープに留まっている場合は、global
キーワードを使用できます。
global
キーワードは、変数をグローバルにします。
また、関数内のグローバル変数を変更する場合は、global
キーワードを使用します。
例
関数内でグローバル変数の値を変更するには、global
キーワードを使用して変数を参照します。
x = 300
def myfunc():
global x
x = 200
myfunc()
print(x)
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。