优草派 > Python

Python作用域是什么?Python作用域有什么用

罗西汉         优草派

在python中常常会把作用域和命名空间联系在一起,那么我们这篇文章就来讲一讲python作用域是什么。

Python作用域是什么?Python作用域有什么用

作用域是命名空间可直接访问的Python程序的文本区域,“可直接访问”的意思是,对名称的非限定引用会在命名空间中查找名称。

作用域虽然是静态确定的,但会被动态使用。执行期间的任何时刻,都会有3或4个命名空间可被直接访问的嵌套作用域,关系如下:

1.最内层作用域,包含局部名称,并首先在其中进行搜索。

2.封闭函数的作用域,包含非局部名称和非全局名称,从最近的封闭作用域开始搜索。

3.倒数第二个作用域,包含当前模块的全局名称。

4.最外层的作用域,包含内置名称的命名空间,最后搜索。

如果把名称声明为全局变量,则所有引用和赋值将直接指向包含该模块的全局名称的中间作用域。重新绑定在最内层作用域以外找到的变量,使用nonlocal语句把该变量声明为非局部变量。未声明为非局部变量的变量是只读的,写入只读变量会在最内层作用域中创建一个新的局部变量,而同名的外部变量保持不变。

通常,当前局部作用域将(按字面文本)引用当前函数的局部名称。在函数之外,局部作用域引用与全局作用域一致的命名空间-模块的命名空间。类定义在局部命名空间内再放置另一个命名空间。

作用域是按字面文本确定的,模块内定义的函数的全局作用域就是该模块的命名空间,无论该函数从什么地方或以什么别名被调用。另一方面,实际的名称搜索是在运行时动态完成的。但是Python正在朝着“编译时静态名称解析”的方向发展,因此不要过于依赖动态名称解析。

以上就是关于python作用域是什么的内容了。

  • 微信好友

  • 朋友圈

  • 新浪微博

  • QQ空间

  • 复制链接

取消
5天短视频训练营
新手入门剪辑课程,零基础也能学
分享变现渠道,助你兼职赚钱
限时特惠:0元
立即抢
新手剪辑课程 (精心挑选,简单易学)
第一课
新手如何学剪辑视频? 开始学习
第二课
短视频剪辑培训班速成是真的吗? 开始学习
第三课
不需要付费的视频剪辑软件有哪些? 开始学习
第四课
手机剪辑app哪个好? 开始学习
第五课
如何做短视频剪辑赚钱? 开始学习
第六课
视频剪辑接单网站APP有哪些? 开始学习
第七课
哪里可以学短视频运营? 开始学习
第八课
做短视频运营需要会什么? 开始学习
【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。

客服热线:0731-85127885

湘ICP备19005950号-1  

工商营业执照信息

违法和不良信息举报

举报电话:0731-85127885 举报邮箱:tousu@csai.cn

优草派  版权所有 © 2024