nonlocal キーワードは、Pythonでネストされた関数内から外側の(ただしグローバルではない)変数を修正するために使用されます。これにより、関数の中から外側のスコープにある変数を変更することができます。
以下は nonlocal の使い方の例です:
def outer_function():
outer_var = "外側の変数"
def inner_function():
nonlocal outer_var
outer_var = "変更された外側の変数"
print("inner_function内:", outer_var)
inner_function()
print("outer_function内:", outer_var)
outer_function()
このコードの出力は次のようになります:
inner_function内: 変更された外側の変数
outer_function内: 変更された外側の変数
1. outer_function という外側の関数内に outer_var という変数が定義されています。
2. inner_function という内側の関数内で nonlocal outer_var と宣言することで、inner_function は outer_function 内にある outer_var にアクセスし、それを修正することができます。
3. inner_function を呼び出すと、outer_var が変更され、その変更は outer_function 内でも反映されます。
このように、nonlocal キーワードを使うことで、ネストされた関数内から外側のスコープの変数を変更することが可能になります。
コメント