基本概念

Pythonの変数のスコープについて

Pythonでは、変数のスコープ(有効範囲)は、その変数が定義された場所やブロックによって決まります。

変数のスコープは、以下のように分けられます。

ローカルスコープ:関数やメソッド内で定義された変数は、その関数やメソッド内でのみ有効です。
グローバルスコープ:モジュール内で定義された変数は、そのモジュール内でのみ有効です。
ビルトインスコープ:Pythonに組み込まれている変数や関数は、どこからでも使用することができます。

変数のスコープは、以下のように特定のキーワードを使用して制御することができます。

globalキーワード: グローバルスコープの変数を参照するために使用します。
nonlocalキーワード: 関数内で定義された変数を、その関数を含む外側の関数で参照するために使用します。

以下は、スコープの例を示します。

# グローバル変数
x = 1
def func():
# ローカル変数
y = 2
print(x)  # 1
print(y)  # 2
print(x)  # 1
print(y)  # NameError: name 'y' is not defined

この例では、xはグローバル変数であり、func()関数内でも使用することができます。
一方、yはローカル変数であり、func()関数内でのみ使用することができます。

詳細については、Pythonのドキュメントを参照してください。

3.3. Naming and binding — Python 3.10.2 documentation

コメント

タイトルとURLをコピーしました