参考资料:
https://zhuanlan.zhihu.com/p/467568306
global
global语句是适用于当前整个代码块的声明,它是全局变量的标识符。如果某名字在局部名字空间中没有定义, 就自动使用相应的全局名字。
global---将变量定义为全局变量,可以通过定义为全局变量,实现在函数内部改变变量值。如果函数中要读取一个外层(这里是global)的变量,不适用globa也可以“读取”该变量;若要在函数内修改该global变量,则需要用global语句,函数对该变量的修改也会体现到global作用域。
如果全局变量是一个可变类型,那么在函数提内修改变量时不需要使用global。如果是不可变类型,则需要使用global
nonlocal
nonlocal指定在当前作用域使用上层作用域中(但排除global作用域)的变量名
nonlocal只能在函数内的函数中使用,如果直接在全局作用域下定义的函数中使用该语句,会报错
python引用变量的顺序: 当前作用域局部变量->外层作用域变量->当前模块中的全局变量->python内置变量
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)