Python 一个文件就是一个变量空间吗?

Python 一个文件就是一个变量空间吗?

我们知道Python,一个文件就是一个模块,那么是否是一个变量空间呢?


回答:

变量空间更准确的叫法是:名字空间,Python名字空间是作用域的运行时表现,作用域由语法静态决定。Python名字空间不止一个:

  • 局部名字空间,例如函数局部变量;
  • 闭包名字空间,例如闭包函数变量;
  • 全局名字空间,例如全局变量;
  • 内建名字空间,例如dir等内建函数;

Python全局名字空间是模块级别的,模块外只能通过模块属性的方式进行访问,例如:re.findall 。Python虚拟机在运行时,通过一个字典对象维护模块属性空间,模块内的全局变量也在这个字典中查找。因此,模块的属性空间字典同时也是模块全局名字空间。

更多关于Python执行机制以及虚拟机实现细节,可以参考我写的专栏:Python源码深度剖析


回答:

一个文件就是一个模块(module),你说的其实不算错吧……

以上是 Python 一个文件就是一个变量空间吗? 的全部内容, 来源链接: utcz.com/a/158838.html

回到顶部