def counter(x):
def _cnt():
#nonlocal x
x = x+1
print(x)
return x
return _cnt
a = counter(0)
print(a())
上記のコードでは、次のエラーが発生します
UnboundLocalError: 代入前にローカル変数 'x' が参照されました
_cnt の名前空間に値 'x+1' を持つ新しいオブジェクトを作成して x にバインドできないのはなぜですか。両方の関数名前空間に参照 x があります