码迷,mamicode.com
首页 > 其他好文 > 详细

9-29 函数嵌套及作用域链

时间:2018-09-29 22:44:09      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:nonlocal   数据   a*   不可变   注释   变量   glob   函数嵌套   python   

特别注意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 函数嵌套及作用域链

标签:nonlocal   数据   a*   不可变   注释   变量   glob   函数嵌套   python   

原文地址:https://www.cnblogs.com/Cheryol/p/9726899.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!