🚴♂️
【Python】nonlocal と globalについて
まず初めに
Pythonのnonlocalとglobalは、変数のスコープ(有効範囲)を制御するためのものです。
nonlocalとglobalについて簡単にまとめていきたいと思います。
1. nonlocal
nonlocalは、外側の関数の変数を変更するために使います。例えば、関数の中で別の関数を定義し、その内部から外側の関数の変数を変更したいときに使います。
使用例
def outer():
x = 10 # outer関数のスコープにある変数
def inner():
nonlocal x # outer関数のxを変更する
x = 20
inner()
print(x)
outer()
実行結果
20
2. global
globalは、グローバル変数を関数内で変更するために使います。グローバル変数とは、関数の外側で定義されている変数のことです。
使用例
x = 10 # これはグローバル変数
def modify_global():
global x # この関数内でグローバル変数xを変更する
x = 30
modify_global() # modify_global関数を呼ぶ
print(x)
実行結果
30
Discussion