Python 2.6 でクロージャを実装しようとしており、非ローカル変数にアクセスする必要がありますが、このキーワードは Python 2.x では使用できないようです。これらのバージョンの Python でクロージャ内の非ローカル変数にアクセスするにはどうすればよいでしょうか?
ベストアンサー1
内部関数は読む2.xでは非ローカル変数は再バインドこれは面倒ですが、回避策があります。辞書を作成し、データを要素として保存するだけです。内部関数は禁止されていません。変異する非ローカル変数が参照するオブジェクト。
Wikipedia の例を使用する場合:
def outer():
d = {'y' : 0}
def inner():
d['y'] += 1
return d['y']
return inner
f = outer()
print(f(), f(), f()) #prints 1 2 3