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のドキュメントを参照してください。
コメント