nonlocal关键字
# 1.外部必须有这个变量
# 2.在内部函数声明nonlocal变量之前不能再出现同名变量
# 3.内部修改这个变量如果想在外部有这个变量的最近一层函数中生效
def f1(): a = 1 def f12(): def f2(): nonlocal a a = 2 f2() f12() print('a in f1 : ',a) f1()
global 关键字
a = 10 def func(): global a a = 20 print(a) func() print(a)
globals and locals 方法
def func(): a = 12 b = 20 print(locals()) print(globals()) func()