nonlocal關鍵字用來在函數或其他作用域中使用外層(非全局)變量
在內層函數中只可以讀,但是不可以修改
a = 100 def Outer(): b = 10 def Inner(): nonlocal b #聲明外部函數的局部變量, print('inner b:',b) # 只可以讀取使用,但是不可以修改,如果想修改必須上面語句聲明一下。下面的global也是 b = 20 global a a = 1000 Inner() print("outer b:",b) Outer() print("a:",a)