python——命名空间

简介: python——命名空间

命名空间

概念

命名空间(namespace)是名称到对象的映射,当前大部分命名空间都是通过 Python 字典来实现的,它的主要作用是避免项目中的名字冲突,每一个命名空间都是相对独立的,在不同的命名空间中可以同名,在相同的命名空间中不可以同名。

种类

命名空间主要有以下三种:

  • 内置:主要用来存放内置函数、异常等,比如:abs 函数、BaseException 异常。
  • 全局:指在模块中定义的名称,比如:类、函数等。
  • 局部:指在函数中定义的名称,比如:函数的参数、在函数中定义的变量等。

生命周期

通常在不同时刻创建的命名空间拥有不同的生命周期,看一下三种命名空间的生命周期:


内置:在 Python 解释器启动时创建,退出时销毁。


全局:在模块定义被读入时创建,在 Python 解释器退出时销毁。


局部:对于类,在 Python 解释器读到类定义时创建,类定义结束后销毁;对于函数,在函数被调用时创建,函数执行完成或出现未捕获的异常时销毁。



相关文章
|
6月前
|
存储 Python
Python 的其他主题:解释 Python 中的命名空间(Namespace)是什么?
Python 的其他主题:解释 Python 中的命名空间(Namespace)是什么?
70 2
|
11月前
|
API Python
python 详细理解 import ---- openstack自动import class 到 特定命名空间
python 详细理解 import ---- openstack自动import class 到 特定命名空间
95 0
|
存储 Python
python基础 - python命名空间与作用域
python基础 - python命名空间与作用域
|
3月前
|
Python
深入解析 Python中的命名空间和作用域并举例
【8月更文挑战第15天】Python中的命名空间与作用域是理解变量组织与访问的核心。命名空间是名称到对象的映射,分为全局、局部和内置三种。作用域定义变量的可访问范围,遵循LEGB规则:局部(L)、闭包(E)、全局(G)、内置(B)。示例展示了如何通过`nonlocal`声明跨作用域修改变量。这些机制确保了变量的有效管理和代码的高效执行。
48 0
|
3月前
|
存储 Python
Python中的命名空间
【8月更文挑战第8天】本文深入探讨了Python中命名空间与作用域的概念及其应用。命名空间管理变量名与对象间的映射关系,分为全局、局部及内建三种。全局命名空间包含模块顶层定义的变量,局部命名空间则由函数内部定义的变量构成,内建命名空间包括Python的所有内置函数与异常。作用域规定了变量的可见范围,包括全局、局部、嵌套及内建作用域。文章通过多个代码示例展示了不同作用域下的变量访问规则,如局部变量仅在函数内部有效,而全局变量可在整个模块中访问。此外,还介绍了作用域链的查找机制、如何通过`global`和`nonlocal`关键字修改不同作用域内的变量、如何利用闭包访问外部函数的局部变量。
27 0
|
5月前
|
存储 Python
Python教程:深入理解Python中的命名空间和作用域
在 Python 编程中,理解命名空间(Namespace)和作用域(Scope)是至关重要的。它们决定了变量和函数的可见性和访问性,并直接影响代码的结构和行为。本文将深入探讨 Python 3 中命名空间和作用域的概念、规则以及相关的高级主题。
82 4
|
5月前
|
存储 Python
Python的命名空间和作用域分析
在Python中,命名空间(Namespace)是用来存储变量名和对象引用之间映射关系的字典,而作用域(Scope)是指程序中变量可以被访问的区域范围。Python中的命名空间是用来存储变量名和对象引用之间映射关系的字典,Python中存在3种命名空间:内置命名空间、全局命名空间和局部命名空间。Python中存在3种命名空间:内置命名空间、全局命名空间和局部命名空间。局部作用域:由局部命名空间定义,在函数内部定义的变量只能在该函数内部访问。在全局命名空间中定义的变量可以在模块内的任何函数或类中直接使用。
49 3
|
6月前
|
Python
「Python系列」Python命名空间和作用域
在Python中,命名空间(Namespace)和作用域(Scope)是两个非常重要的概念,它们共同决定了变量、函数、类等对象的可见性和生命周期。
48 7
|
6月前
|
存储 Python
Python命名空间与作用域详解
Python命名空间与作用域详解
99 0