知行编程网知行编程网  2022-10-02 19:00 知行编程网 隐藏边栏  2 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python命名空间是什么的相关知识,包括python的命名空间,以及python中的命名空间是什么这些编程知识,希望对大家有参考作用。

什么是 python 命名空间

在 Python 中,所有名称都存在于它们存在和被操纵的空间中——这就是命名空间。它就像一个盒子,每个变量名对应一个对象。查询变量时,会从框中找到对应的对象。


【定义】

名称到对象的映射。命名空间是字典的实现,其中键是变量名,值是变量对应的值。每个命名空间都是独立且不相关的。命名空间不能具有相同的名称,但不同的命名空间可以具有相同的名称而不会产生任何影响。


【分类】

python 程序执行期间将有 2 或 3 个命名空间处于活动状态(函数调用时为 3 个,函数调用结束后为 2 个)。根据变量定义的位置,可以分为以下三类:

local,局部命名空间,每个函数所拥有的命名空间,记录了函数中定义的所有变量,包括函数的输入参数和内部定义的局部变量。

Global,全局命名空间,在每个模块加载和执行时创建,记录模块中定义的变量,包括模块中定义的函数、类、其他导入的模块,以及模块级的变量和常量。

内置,python自带的内置命名空间,可以被任何模块访问,包含内置函数和异常。


【生命周期】

Local(本地命名空间)在函数被调用时创建,但在函数返回结果或抛出异常时被删除。 (每个递归函数都有自己的命名空间)。

全局(全局命名空间)是在加载模块时创建的,通常会一直保留到 python 解释器退出。

内置(内置命名空间)在 python 解释器启动时创建,并一直保留到解释器退出。

每个命名空间的创建顺序:python解释器启动->创建内置命名空间->加载模块->创建全局命名空间->函数调用->创建本地命名空间

各个命名空间的销毁顺序:函数调用结束->销毁函数对应的本地命名空间->python虚拟机(解释器)退出->销毁全局命名空间->销毁内置命名空间

模块的内置命名空间和全局命名空间是在 python 解释器的加载阶段创建的。本地命名空间是在运行时调用函数时动态创建的,并在函数调用结束时动态销毁。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享