• 关键字global和nonlocal的用法


    1.首先,要明确 nonlocal 关键字是定义在闭包里面的(不定义在闭包里会抛异常SyntaxError: nonlocal declaration not allowed at module level)

    在闭包里面加入nonlocal关键字进行声明。当使用 nonlocal 时,就声明了该变量不只在嵌套函数inner()里面才有效, 而是在整个大函数里面都有效

    2.global 是对整个环境下的变量起作用,而不是对函数内的变量起作用。

     

    总结:nonlocal与global的区别

    nonlocal:如果在闭包内给该变量赋值,那么修改的其实是闭包外那个作用域中的变量。

    global:用来表示对该变量的赋值操作,将会直接修改模块作用域里的那个变量。(nonlocal与global互为补充)

  • 相关阅读:
    问题排查
    代码
    前端
    即时通信系统 偶尔看到 就想学着做一下
    Oracle 笔记
    javaweb dev 入
    mysql安装
    windows下安装nginx
    spring MVC上传附件
    mysql+mybatis递归调用
  • 原文地址:https://www.cnblogs.com/GumpYan/p/12284766.html
Copyright © 2020-2023  润新知