9-29 函数嵌套及作用域链
Posted cheryol
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9-29 函数嵌套及作用域链相关的知识,希望对你有一定的参考价值。
特别注意local()域nonloca(),看代码注释部分
nonlocal只能用于局部变量,找上层离当前函数最近一层的局部变量
#声明了nonlocal的内部函数的变量修改会影响到离当前函数最近一层的局部变量
a=11 def outer(): a = 1 def inner(): print(a) print(‘inner‘) b=2 def inner2(): # global a #声明了一个全局变量 nonlocal a #声明了一个上面第一层局部变量 a+=1 #不可变数据类型的修改 print(a,b) print(‘inner2‘) inner2() inner() print(‘**a**:‘,a) outer() print(‘**全局a**:‘,a)
以上是关于9-29 函数嵌套及作用域链的主要内容,如果未能解决你的问题,请参考以下文章