擅长:python、mysql、java
<p>我编写的绝大多数<code>__init__.py</code>文件都是空的,因为许多包没有要初始化的内容。</p>
<p>我可能希望初始化的一个例子是,在包加载时,我希望一次性读取一堆数据(从文件、数据库或web,比方说)--在这种情况下,最好将该读取放在包的<code>__init__.py</code>中的私有函数中,而不是有单独的“初始化模块”并从包中的每个实际模块中冗余地导入该模块(重复性和易出错性都是无用的:这显然是一种依赖于语言保证包的<code>__init__.py</code><em>在包中的任何模块明显比Pythonic强得多之前加载一次。</p>
<p>对于其他具体而权威的意见表达,请查看作为Python标准库一部分的各种包中采用的不同方法。</p>