我无法理解“导入”语句在 Python 中的工作原理。
据说在 sys.path() 返回的目录中搜索包。然而,即使 sys 模块在每个 Python 程序中自动可用,它也不会自动导入。那么 import 语句是否会在后台导入 sys 模块?
请您参考如下方法:
有两个阶段让您有点困惑。
Python 必须找到您要导入的实际文件(包含代码),对其进行解析、执行并将其存储在某处。
然后必须将导入模块的名称本地绑定(bind)到模块对象。
也就是说,“找到模块 sys 并将其变成模块对象”的过程与“定义变量 sys 来表示模块”是不同的.
您可以通过查看 sys.modules 来检查加载了哪些模块。
作为一个单独的问题,有一些 Python 的基础知识实际上被硬编码到解释器中,而不是在磁盘上表示为单独的文件。 sys 是这些模块之一:没有 sys.py 文件;相反,它是包含在 python.exe 二进制文件中的已编译 C 代码。
