您当前的位置: 首页 > 

令狐掌门

暂无认证

  • 0浏览

    0关注

    513博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

pytnon nonlocal关键字

令狐掌门 发布时间:2020-03-15 10:05:18 ,浏览量:0

       python在函数内部可以嵌套声明函数,感觉这功能没必要,增加了代码复杂度,还不如直接和C++一样在函数外部声明一个函数,python可以使函数的局部变量作为嵌套函数的全局变量使用。例如下面的代码:

def fun1():
    num = 100
    def fun2():
        nonlocal num
        num = 101
        print("嵌套函数的num = %d" % num)
    fun2()  #在fun1内调用fun2
    print("第一层的num = %d" % num)

#测试
fun1()

       在fun1内嵌套定义了函数fun2, fun1的变量num在fun2内用nonlocal声明后,num在函数fun1的作用域内就是全局变量了。

       输出结果:

嵌套函数的num = 101
第一层的num = 101

       根据结果可知道局部变量num的值被嵌套的函数修改了,其实这在C++中做引用传值也可以实现。

关注
打赏
1652240117
查看更多评论
立即登录/注册

微信扫码登录

0.0549s