当前位置:主页 > python教程 > Python中的命名空间和范围

深入理解Python中的命名空间和范围

发布:2020-02-10 17:52:57 160


本站收集了一篇Python相关的编程文章,网友沃弘亮根据主题投稿了本篇教程内容,涉及到Python、命名空间、Python中的命名空间和范围相关内容,已被658网友关注,如果对知识点想更进一步了解可以在下方电子资料中获取。

Python中的命名空间和范围

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

 

Python中的命名空间和范围

什么是命名空间:

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

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

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

命名空间的类型:

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

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

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

Python中的命名空间和范围

命名空间的生命周期:

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

什么是范围?

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

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

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

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

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

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

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

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

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

以上就是Python中的命名空间和范围的详细内容,更多请关注码农之家其它相关文章!


参考资料

相关文章

  • python中统计相同字符的个数方法实例

    发布:2023-03-10

    我们在开发中经常需要统计某个字符或字符串出现的次数,下面这篇文章主要给大家介绍了关于python中统计相同字符的个数的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下


  • python如何引用其他py文件里的函数

    发布:2019-06-25

    在本篇内容里小编给大家分享的是关于python如何引用其他py文件里的函数的相关知识点内容,有需要的朋友们可以学习下。


  • python实现简单网页服务器代码实例

    发布:2021-04-15

    这篇文章主要介绍了基于python实现简单网页服务器代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下


  • 使用python处理一万份word表格简历操作

    发布:2022-04-19

    这篇文章主要介绍了使用python处理一万份word表格简历操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


  • 如何使用python打印直角三角形,等边三角形,菱形,正方形

    发布:2020-03-12

    这篇文章主要介绍了python 打印直角三角形,等边三角形,菱形,正方形的代码,需要的朋友可以参考下


  • Python3.7中安装openCV库的实例讲解

    发布:2020-02-03

    这篇文章主要介绍了Python3.7中安装openCV库的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下


  • Python运算符优先级详细整理

    发布:2023-03-02

    在一个表达式中可能包含多个有不同运算符连接起来的、具有不同数据类型的数据对象,由于表达式有多种运算,不同的运算顺序可能得出不同结果甚至出现错误运算错误,下面这篇文章主要给大家介绍了关于Python运算符优先级的相关资料,需要的朋友可以参考下


  • python判断是否为浮点数的方法

    发布:2020-01-29

    python中isinstance()函数可以用来判断变量的类型,它返回的是一个布尔值,False or True.。像int、float等都是基础的变量类型,其实类也是一种变量类型。


网友讨论