正如描述的蟒蛇文档中,当蟒蛇看到它下面的一些事情的import语句:
因此,每个模块仅导入一次。
为了更好地理解导入机制,我建议创建一个玩具示例。
档案module.py
:
print("import is in progress")
def foo():
pass
档案main.py
:
def foo():
print("before importing module")
import module
module.foo()
print("after importing module")
if __name__ == '__main__':
foo()
foo()
将以上文件放入同一目录。当module.py
正在导入它打印import is in progress
。启动时main.py
,它将尝试module
多次导入,但输出将是:
before importing module
import is in progress
after importing module
before importing module
after importing module
因此导入实际上只发生一次。您可以调整此玩具示例以检查您感兴趣的案例。