为什么需要使用'import'语句显式导入* built-in * python模块'sys'?

问题描述:

python documentation说:为什么需要使用'import'语句显式导入* built-in * python模块'sys'?

“一个特定的模块值得注意:sys,它是内置于每个Python解释器。”

我的理解是,如果一个模块被内置到Python解释器本身中,那么就不需要显式的导入语句。如果sys模块内置Python解释器,那么为什么sys模块需要显式导入语句?

sys在Python启动时导入。因此,当您导入sys时,除了将变量名称绑定到已存在的模块外,它实际上不会执行任何操作。

当创建一个模块实例时,没有理由在模块范围中绑定sys名称,当许多模块(可能大多数)不需要使用sys时。所以,该名称默认不在该范围内。

+0

我现在明白了,谢谢。 –

import执行两个功能:

  1. 它加载模块从磁盘,初始化和执行它。
  2. 它将模块添加到本地命名空间。

对于“内置”模块,项目1不是问题,但项目2仍然很重要;没有它的代码会抛出一个NameError