nonlocalってなに

nonlocal キーワードは、Pythonにおいて、ローカルスコープ内の外側の(つまり、現在の関数の直接の親関数内の)変数を参照または更新するために使用されます。

通常、Pythonの関数内で変数を定義すると、その変数はその関数のローカル変数として扱われます。したがって、その関数の外側で定義された変数(グローバル変数や親関数内の変数)はその関数内から直接アクセスできません。

しかし、nonlocal キーワードを使うことで、関数内でその関数の外側の変数を参照または更新することができます。これは、関数内でクロージャ(closure)を使用する場合などに便利です。

以下は nonlocal キーワードの使用例です:

python
def outer_function(): x = 10 def inner_function(): nonlocal x x = 20 inner_function() print("Inner function modified x to:", x) outer_function()

この例では、inner_function 内で nonlocal キーワードを使って x を外側の outer_function の変数としてマークしています。そのため、inner_functionx を更新した際に、その変更が outer_function 内の x に反映されます。

未分類

Posted by ぼっち