擅长:python、mysql、java
<p>除了Raydel的回答之外,我还想补充一点:如果您的<code>important</code>模块包含您不想导出的私有函数,那么有一种方法可以控制它。举个例子:</p>
<pre><code># important.py
# This magic variable controls what gets import via
# from important import *
__all__ = ['dothis', 'dothat']
def dothis():
pass
def dothat():
pass
def private1():
pass
</code></pre>
<p>使用魔法变量<code>__all__</code>,您可以控制哪个函数得到export。你知道吗</p>
<h2>更新</h2>
<p>从<code>__init__.py</code>,您可以执行以下操作:</p>
<pre><code>from important import dothis, dothat
</code></pre>
<p>这是控制导入哪个实体(函数、变量)的另一种方法。你知道吗</p>
<p>但是,如果从<code>__init__.py</code>,则可以执行以下操作:</p>
<pre><code>import important
important.private1() # OK
</code></pre>
<p>或:</p>
<pre><code>from important import private1 # OK, too
</code></pre>
<p>这意味着您可以重写<code>__all__</code>魔术变量。在我看来,前一种方法更好,因为它不会使<code>private1</code>对那些导入<code>myMod</code>的人可用。你知道吗</p>