在python之中有两个关键字能够用来改变变量的作用域以及命名空间 , 它们就是global以及nolocal , 但是它们之间也是有一点差异和区别的 。下文会来详细的给大家讲解一下二者之间的关系以及区别 , 想要学习或者了解的小伙伴就一定要仔细阅读了 。
文章插图
1.global关键字于nolocal关键字之前实际上是没有任何关系的 , 只不过它们二者之间有一个共同点 , 那就是都能够在作用域内去使用外层的变量 。
2.global与nolocal它们之间的区别就在于 , 虽然都是能够在局部作用域内去使用外层变量 。不过global只能够在当前作用域内去调用全局变量 , 并且这个当前作用域就要包含在全局之中 , 示例如下:
x = 1def outer(): global x x += 1在以上的代码示例之中变量x是定义在全局范围内的 , 而只有在这个范围内的函数outer里面才可以去调用global 。
3.当以上示例之中的函数内还有一个函数的时候就不能够用global关键字了 , 从代码示例来看比较好理解 , 如下所示:
def outer(): x = 1 within(): nolocal x x -= 5在上面这种情况下函数within被称为当前作用域 , 而函数outer则是外层作用域 , 再外面就是全局作用域了 。而within函数内无法去使用全局作用域内的变量 , 要使用外层作用域的变量x就得用到nolocal关键字 。
【Python关键字global和nolocal有什么关系?Python中global与nolocal的区别是什么】以上就是关于“Python关键字global和nolocal有什么关系?Python中global与nolocal的区别是什么”的全部内容了 , 希望对你有所帮助 。
推荐阅读
- Python怎么实现金字塔求和问题?Python如何解决金字塔求和问题
- VSCode中怎么运行Python的虚拟环境?VSCode中运行Python的虚拟环境的方法
- Linux下如何安装Python虚拟环境?Linux安装Python虚拟环境的两种方法
- Python中如何用split函数实现分割字符串?split()函数实现分割字符串的方法
- Python字典怎么添加值?Python字典添加值的方法
- Linux系统中如何运行Python脚本?怎么在linux上运行Python?
- Vscode无法运行Python文件怎么办?Vscode运行Python文件无反应的解决方法
- IDLE编辑器怎么生成Python程序文件?IDLE生成Python程序文件的方法
- Python中nolocal是什么意思?Python3的nolocal怎么用
- 使用vscode如何搭建python开发环境?vscode搭建python开发环境的方法