20201024_084.nonlocal_global

首页 » Python » 正文

nonlocal 关键字

nonlocal 用来声明外层的局部变量。
global 用来声明全局变量。

【案例】

a = 100


def outer():
    b = 10

    def middle():
        global a  # 声明全局变量
        a = 188
        print('middle a', a)

        def inner():
            nonlocal b  # 声明外部函数的局部变量
            print('inner b', b)
            b = 333
        inner()
        print('middle b', b)
    middle()


outer()
print('outer a', a)

运行结果:
20201024_084.nonlocal_global

其他总结:

  1. 声明global、nonlocal的位置可以与原变量相隔多层函数;
  2. 在某层函数内声明一定要使用函数之前,不管是只读还是修改,例如上面的案例中,如果将声明写在print之后就会报错。

未经允许不得转载:作者:1324-易同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《20201024_084.nonlocal_global》 发布于2020-11-29

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录