global ってなに?nonlocalとはちがうの?

global キーワードは、Pythonにおいて、関数内でグローバル変数を参照または更新するために使用されます。一方、nonlocal キーワードは、関数内で外側の(直接の親関数内の)変数を参照または更新するために使用されます。

global キーワードを使用すると、関数内でグローバル変数を参照したり、新しいグローバル変数を定義したりすることができます。一方、nonlocal キーワードを使用すると、関数内でローカルスコープと直接の親スコープの間の変数を参照または更新することができます。

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

python
x = 10 # グローバル変数 def modify_global(): global x x += 5 modify_global() print(x) # Output: 15 def outer_function(): y = 20 # 外側の変数 def modify_outer(): nonlocal y y += 5 modify_outer() print(y) outer_function() # Output: 25

この例では、modify_global() 関数で global キーワードを使用してグローバル変数 x を更新し、outer_function() 内で nonlocal キーワードを使用して外側の変数 y を更新しています。

未分類

Posted by ぼっち