答案 0 :(得分:10)
模块只导入一次。 Python意识到它已经被导入了,所以不再这样做了。
请参阅:http://docs.python.org/tutorial/modules.html#more-on-modules
答案 1 :(得分:4)
当Python遇到import
语句时,它会在执行任何操作之前先检查sys.modules
是否存在模块
答案 2 :(得分:2)
import module
如果已导入模块,则不会重新加载模块
答案 3 :(得分:2)
我相信python会跟踪哪些模块已经导入,这样就不会浪费时间进行冗余导入。每个模块只能导入一次。
答案 4 :(得分:2)
Python中的导入会导致导入模块的命名空间绑定放在当前命名空间中(如果它们尚不存在)。如果导入模块两次,它实际上只会导入(因此执行)一次。这就是为什么当你将模块导入自身时,实际上没有任何事情发生,因为命名空间绑定已经出现在当前的命名空间中。