関数内のローカル変数の値を、ネストした関数から変更する
f()で定義したローカル変数bの値を、ネスト関数g()から変更するにはどうすれば良いのでしょうか。
global a, bではうまくいかず、さりとて代案も思いつきませんでした。
a = "global!!"
def f():
global a
print(a)
b = "local 1"
def g():
global a
print(a)
print(b) # local variable 'b' referenced before assignment
b = "local 2"
print(b)
g()
print(a)
print(b)