解析 Python 中的名称空间:绑定、作用域与访问

理解 Python 的名称空间

名称空间可以理解为名称到对象的映射关系。当我们在名称空间中添加一个名称时,实际上是将这个名称与特定的对象绑定,并增加该对象的引用计数。根据《Python 语言参考》的定义,改变名称的绑定称为“重新绑定”,而删除名称则称为“解除绑定”。

在 Python 程序执行过程中,通常存在两个或三个活动的名称空间:

  • 局部名称空间:函数内部定义的名称空间,随着函数的调用和结束而不断变化。
  • 全局名称空间:模块级别的名称空间,在模块开始执行后成为活动名称空间。
  • 内置名称空间:由 __builtins__ 模块中的名称构成,由 Python 解释器首先加载。

名称的访问顺序取决于这些名称空间的加载顺序。Python 解释器首先加载内置名称空间,然后加载执行模块的全局名称空间。局部名称空间则在函数调用时创建。

pdf 文件大小:5.96MB