Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1942277
  • 博文数量: 2504
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 25169
  • 用 户 组: 普通用户
  • 注册时间: 2020-11-26 14:30
个人简介

更多python、Linux、网络安全学习内容,可移步:www.oldboyedu.com或关注\"老男孩Linux\"公众号

文章分类

全部博文(2504)

文章存档

2024年(349)

2023年(643)

2022年(693)

2021年(734)

2020年(80)

我的朋友

分类: Python/Ruby

2022-01-05 11:59:50

  命名空间是一个命名系统,用于确保名称是唯一性,以避免命名冲突;而且在Python中,每个包、模块、类、函数和方法函数都拥有一个命名空间,在该命名空间中解析变量名。那么Python中命名空间是什么?相信很多人对此都不是很了解,小编特整理了这篇文章,希望能够帮助到你们。

  Python中命名空间是什么?

  命名空间是从名称到对象的映射,大部分的命名空间都是通过Python字典来实现的。

  命名空间提供了在项目中避免名字冲突的一种方法,各个命名空间是独立的,没有任何关系的,所以一个命名空间中不能有重名,但不同的命名空间是可以重名而没有任何影响。

  Python命名空间分类

  Python程序执行期间会有两个或者三个活动的命名空间,按照变量定义的位置,可以划分为以下3类:

  内置名称:built-in names,Python语言内置的名称,比如函数abs、char和异常名称BaseException、Exception等。

  全局名称:global names,模块中定义的名称,记录了模块的变量,包括函数、类、其它导入的模块、模块级的变量和常量。

  局部名称:local names,函数中定义的名称,记录了函数的变量,包括函数的参数和局部定义的变量。

  Python命名空间生命周期

  local names,在函数被调用时才被创建,但函数返回结果或抛出异常时被删除。

  global names,在模块被加载时创建,通常一直保留,直到Python解释器退出。

  built-in names,在Python解释器启动时创建,一直保留到解释器退出。

  各个命名空间创建顺序:Python解释器启动—创建内建命名空间-加载模块-创建全局命名空间-函数被调用-创建局部命名空间。

  各个命名空间销毁顺序:函数调用结束-销毁函数对应的局部命名空间-Python解释器退出-销毁全局命名空间-销毁内建命名空间。

阅读(256) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~