【python】nonlocal ってなに?

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 キーワードを使うことで、ネストされた関数内から外側のスコープの変数を変更することが可能になります。

コメント

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