global和nonlocal的区别
2024-09-05 03:42:08
global可以在任何地方修饰变量,而且被global修饰的变量直接被标识为全局变量,对该变量修改会影响全局变量的值,但不影响函数中未被global修饰的同名变量(依然是局部变量),nonlocal只能在嵌套函数(可能还有其他的地方,我还没有检查)中使用,用于标识嵌套函数中的变量是包含该嵌套函数的函数中的同名变量,在嵌套函数中修改变量会影响函数中的变量。如果在函数中使用global修饰了变量,那么在嵌套函数中用nonlocal修饰同名变量会发生报错,因为nonlocal表示该变量在函数中已经定义,但检查时因为同名变量被global修饰为全局变量,所以不存在同名的局部变量,从而导致错误。
最新文章
- Java NIO浅析
- [数据库]cakephp操作ENUM、tinyint等类型的一点说明
- C++ 在容器中存放函数指针
- js DOM Element属性和方法整理
- 常用的CSS缩写语法一些方法小结
- 整理:Google jQuery 引用地址大全和方法(转)
- 【C#】面试题整理
- 细说Handler
- mysql必知必会
- WEB端线上偶现问题如何复现?
- AOP - 2 实例(SpringBoot 注解方式)
- spring事务详解(一)初探事务
- 查看linux系统的运行级别
- POJ3176--Cow Bowling(动态规划)
- word 公式为图片
- dev代码拷贝中文乱码的解决方案
- redis事务,分布式锁
- LOJ2229. 「BJOI2014」想法(随机化)
- php 重写session
- 【普及】NOIP2011 瑞士轮