第一,两者的功能不同。global关键字修饰变量后标识该变量是全局变量,对该变量进行修改就是修改全局变量,而nonlocal关键字修饰变量后标识该变量是上一级函数中的局部变量,如果上一级函数中不存在该局部变量,nonlocal位置会发生错误(最上层的函数使用nonlocal修饰变量必定会报错)。

第二,两者使用的范围不同。global关键字可以用在任何地方,包括最上层函数中和嵌套函数中,即使之前未定义该变量,global修饰后也可以直接使用,而nonlocal关键字只能用于嵌套函数中,并且外层函数中定义了相应的局部变量,否则会发生错误

nonlocal和global的区别相关推荐

  1. php中globals,PHP中$GLOBALS和global的区别

    在PHP中经常遇到$GLOBALS和global来定义和访问全局变量,那么在什么地方该用$GLOBALS,而什么地方该用global呢?这就需要我们清除了解$GLOBALS和global的区别,我也谈 ...

  2. Python3 关键字nonlocal和global的用法与区别

    关键字nonlocal 在Python 2.x中,闭包只能读外部函数的变量,而不能改写它. 为了解决这个问题,Python 3.x引入了nonlocal关键字,在闭包内用nonlocal声明变量,就可 ...

  3. Python nonlocal 与 global 关键字解析

    nonlocal 首先,要明确 nonlocal 关键字是定义在闭包里面的.请看以下代码: x = 0 def outer():x = 1def inner():x = 2print("in ...

  4. python中nonlocal是什么意思_Python中关键字nonlocal和global的声明与解析

    请问Python3的关键字有哪些 python一共有35个关键字,在python37版本,新添加了async和await,可以通过import keyword借用keyword模块中的kwlist方法 ...

  5. PHP学习:PHP超全局变量(Superglobal)$GLOBALS的介绍以及和global的区别

    PHP超全局变量有很多,如下的都属于超全局变量Superglobal $GLOBALS,$_SERVER,$_GET,$_POST,$_FILES,$_COOKIE,$_SESSION,$_REQUE ...

  6. nonlocal和global关键字

    回顾: 1. Python的函数的概述函数定义函数调用2. Python函数中参数的类型和返回值形参和实参形参类型:普通参数: 实参的传递的顺序和个数和形参一直关键字参数: 指定传递的实参被特定形参接 ...

  7. [转]nonlocal和global

    在Python中,当引用一个变量的时候,对这个变量的搜索是按找本地作用域(Local).嵌套作用域(Enclosing function locals).全局作用域(Global).内置作用域(bui ...

  8. globle php,php中global与$GLOBAL的区别分析

    大多数的人都会以为global和$GLOBALS[]只是在写法上面有所不同,但是实际上并不是这样的,下面我们就来看一下它们之间究竟有何区别. 根据官方的解释是 $GLOBALS['var'] 是外部的 ...

  9. globle php,PHP中$GLOBALS与global的区别详解

    PHP中$GLOBALS和global都可以实现全局变量的功能,所以很多人都认为global和$GLOBALS[]只是写法上面的差别,其实不然.$GLOBALS 是一个超级全局变量,其实是一个数组,而 ...

最新文章

  1. Exchange2007 中Send as 与Send on behalf of 讲解
  2. 视频监控系统防雷设计方案
  3. 【扫盲】什么是FTP、FTPS 和 SFTP?
  4. c/c++宏函数的定义与使用(宏定义函数)(macro definition)
  5. 华为照片在哪个文件夹_原来华为手机还能这样清理垃圾,怪不得你的手机可以多用5年...
  6. 安杰文高等计算机与生产技术学校,法国留学院校推荐:安杰文高等计算机与生产技术学校...
  7. android中常见的错误及解决办法
  8. 自用的获取时间 传值是获取剩余时间 不传是获取当前时间
  9. linux下安装xz命令
  10. 四大原因告诉你:云为什么比传统IT系统更安全
  11. 预定义类型未定义或导入_LimeSurvey基础教程(二)——问题类型
  12. 【canvas】linejoin——miterLimit
  13. 翻译:iOS上的MVVM + RxSwift架构对比 MVC,MVVM,MVP和VIPER
  14. Python操作Kafka例子
  15. 易语言静态连接器提取_vc98linker修复静态编译
  16. mysql coreseek_Coreseek使用
  17. 命名实体识别难在哪?
  18. 腾讯Bugly工具介绍节选
  19. python簇状柱形图_使用Matplotlib绘制堆积条形图
  20. 南大通用GBase XDM支持的操作平台

热门文章

  1. Maven之(九)依赖关系
  2. 美国时间格式化成通用时间
  3. 如何把canvas元素作为网站背景总结详解
  4. 实现textarea不自动换行
  5. Apollo星火计划学习笔记——Control 专项讲解(LQR)
  6. 「网络安全」Web防火墙和下一代防火墙的区别
  7. C++:函数指针进阶(四):函数对象operator()
  8. 万字文肝Java基础知识(一)
  9. 三菱伺服MR-J3A的调试和JOG试运行
  10. K8S DiskPressure造成pod被驱逐——筑梦之路