擅长:python、mysql、java
<p>你应该可以把它们放进<code>__init__.py</code>。一直都是这样。</p>
<p><strong><code>mypackage/__init__.py</code></strong>:</p>
<pre><code>MY_CONSTANT = 42
</code></pre>
<p><strong><code>mypackage/mymodule.py</code></strong>:</p>
<pre><code>from mypackage import MY_CONSTANT
print "my constant is", MY_CONSTANT
</code></pre>
<p>然后,导入mymodule:</p>
<pre><code>>>> from mypackage import mymodule
my constant is 42
</code></pre>
<p>不过,如果您确实有常量,那么将它们放在一个单独的模块(constants.py,config.py,…)中是合理的(可能是最佳实践),然后如果您希望它们位于包名称空间中,则导入它们。</p>
<p><strong><code>mypackage/__init__.py</code></strong>:</p>
<pre><code>from mypackage.constants import *
</code></pre>
<p>不过,这不会自动在包模块的名称空间中包含常量。包中的每个模块仍然必须显式地从<code>mypackage</code>或<code>mypackage.constants</code>导入常量。</p>