首页 >后端开发 >Python教程 >Python中的命名空间和范围

Python中的命名空间和范围

青灯夜游
青灯夜游原创
2019-02-14 16:32:482134浏览

在Python中,每个包、模块、类、函数和方法函数都拥有一个“名称空间”,其中解析了变量名称。下面本篇文章就来带大家认识一下Python中的命名空间和范围,希望对大家有所帮助。

Python中的命名空间和范围

什么是命名空间:

命名空间是一个系统,用于确保程序中的所有名称都是唯一的,并且可以在没有任何冲突的情况下使用。多个名称空间可以使用相同的名称并将其映射到不同的对象。【视频教程推荐:Python教程

举个例子,计算机中的目录文件系统结构。不用说,一个人可以拥有多个目录,每个目录中都可以有一个具有相同名称的文件。但是,人们可以通过指定文件的绝对路径来定向文件。

Python中的命名空间是作为Python字典实现的,这意味着它是从名称(键)到对象(值)的映射。用户无需知道这一点就可以编写Python程序以及使用命名空间时。

命名空间的类型:

本地命名空间:此命名空间包含函数内的本地名称。调用函数时会创建此命名空间,它只会持续到函数返回。

全局命名空间:此命名空间包含您在项目中使用的各种导入模块的名称。它是在模块包含在项目中时创建的,并且一直持续到脚本结束。

内置命名空间:此命名空间包含内置函数和内置异常名称。

Python中的命名空间和范围

命名空间的生命周期:

命名空间的生命周期取决于对象的范围,如果对象的范围结束,则该命名空间的生命周期结束。因此,无法从外部命名空间访问内部命名空间的对象。

什么是范围?

命名空间可以帮助我们唯一地识别程序中的所有名称。但是,这并不意味着我们可以在任何地方使用变量名称。名称还有一个范围,用于定义程序中可以使用该名称而不使用任何前缀的部分。就像命名空间一样,程序中也有多个范围。

范围是指程序的一个区域,其中可以直接访问命名空间,即不使用命名空间前缀。换句话说:名称的范围是程序的一个区域,可以明确地使用该名称,例如在函数内部。

名称的名称空间与其范围相同。范围是静态定义的,但它们是动态使用的。 

以下是程序执行期间可能存在的一些范围的列表:

  ●   本地范围:它是最里面的范围,包含当前函数中可用的本地名称列表。

  ●   所有封闭函数的范围:搜索名称从最近的封闭范围开始并向外移动。

  ●   包含当前模块中所有全局名称的模块级作用域。

  ●   包含所有内置名称列表的最外层作用域。最后搜索此范围以查找您引用的名称。

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!

以上是Python中的命名空间和范围的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn