Python 関数のスコープとは何か
Python における関数のスコープは、関数内で定義した変数の可視範囲のことです。関数内で定義した変数は、その関数内でのみ参照可能で、関数外からは参照できません。このスコープをローカルスコープと呼びます。
関数内では、関数のパラメータ、関数内で定義している変数、グローバルスコープの変数にアクセスできます。ただし、関数内で定義した変数は関数外ではアクセスできません。
例えば下記のコードでは、my_function内では変数x,yを定義していますが、この変数は関数内でのみ参照可能で、外部からはアクセスができません。
def my_function():
x = 10
y = 20
print(x + y)
my_function()
print(x) # 报错,x无法在函数外部访问
関数の内でglobalキーワードを使えば、グローバルスコープにある変数を読み書きすることができます。例えば、
x = 10
def my_function():
global x
x += 5
print(x)
my_function()
print(x) # 输出15
グローバル変数の値を関数内で変更する場合、globalキーワードを使用するべきですが、この方法はコードの可読性と保守性を低下させる可能性があるため、使用する際には十分注意してください。