本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
1、执行导入模块命令时,会首先检查待导入的模块是否在当前已有模块之中,如果有则跳过import。因此模块之间相互引用不会导致循环。
查看当前已导入模块使用下面方法
import syssys.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命令。