__init__.py中的代码什么时候运行?

时间:2014-11-26 08:57:17

标签: python

我已经阅读了文档,还有一些我还不确定的事情。如果我这样做,__init__.py中整个模块的所有初始化代码都会运行:

from mymodule import mything

或仅当我

import mymodule

__init__.py运行什么以及何时运行?

我确信我也可以相当容易地测试这一点,但为了后人和对他人的帮助,我想我会在这里问。

1 个答案:

答案 0 :(得分:34)

每当您从包中导入任何时,都会运行__init__.py中的代码。这包括导入该包中的其他模块。

导入方式(import packagenamefrom packagename import some_name)在这里并不重要。

与所有模块一样,代码只运行一次,并在包名下输入sys.modules