为什么需要使用'import'语句显式导入* built-in * python模块'sys'?
问题描述:
python documentation说:为什么需要使用'import'语句显式导入* built-in * python模块'sys'?
“一个特定的模块值得注意:sys,它是内置于每个Python解释器。”
我的理解是,如果一个模块被内置到Python解释器本身中,那么就不需要显式的导入语句。如果sys模块内置Python解释器,那么为什么sys模块需要显式导入语句?
答
sys
在Python启动时导入。因此,当您导入sys
时,除了将变量名称绑定到已存在的模块外,它实际上不会执行任何操作。
当创建一个模块实例时,没有理由在模块范围中绑定sys
名称,当许多模块(可能大多数)不需要使用sys
时。所以,该名称默认不在该范围内。
答
import
执行两个功能:
- 它加载模块从磁盘,初始化和执行它。
- 它将模块添加到本地命名空间。
对于“内置”模块,项目1不是问题,但项目2仍然很重要;没有它的代码会抛出一个NameError
。
我现在明白了,谢谢。 –