Python import运行模块的原理

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

1、执行导入模块命令时,会首先检查待导入的模块是否在当前已有模块之中,如果有则跳过import。因此模块之间相互引用不会导致循环。

查看当前已导入模块使用下面方法

importsyssys.modules

得到结果是一个字典,键是模块名,值是文件所在路径

2、import语句与文件执行

在这样的文件结构下

Trymodule
│first.py
├───folder1
││abcd.py
││__init__.py

folder1是一个package,abcd是一个module

import folder1 只是导入package,相当于执行__init__.py文件

from folder import abcd则执行了__init__.py文件文件与abcd.py文件

from folder1.abcd import b其实也执行了__init__.py文件文件与abcd.py文件

abcd模块中定义了print语句后,import两次,只有第一次会print出值,说明第二次检查出模块已在导入之列,忽略了这条import命令。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。