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キーワードを使用するべきですが、この方法はコードの可読性と保守性を低下させる可能性があるため、使用する際には十分注意してください。

bannerAds