使用了nonlocal关键字,将变量标记为不在本地作用域定义,而在上一级局部作用域中定义,但不能是全局作用域中定义。
nonlocal只能用在嵌套函数的内部
def outer():
c = 100
def inner():
nonlocal c # 声明不是本地的c(引用上级目录的c)
c += 200 # 对c进行修改
return c
print('内',c) # 100
c = 1000
return inner
a = outer()
print('外',a) # 1200