擅长:python、mysql、java
<p>所以这里的问题是范围问题。在函数内部导入时(有时<em>有时</em>,请参见下文),则该导入的范围仅限于该函数内部:</p>
<pre><code>def foo():
import a
a.something()
def bar():
a.something() # won't work
</code></pre>
<p>相反,您应该尝试始终在顶部导入:</p>
^{pr2}$
<p>你还应该想出一个好的,可维护的方法来订购你的进口产品。在</p>
<p>现在,你可以在一个函数内部完成它,你可以做一些有趣的事情,比如动态导入和反射,以及各种很酷的事情,但是99.9%的时间你不需要,所以增加这种复杂性会降低可维护性(这应该是你的目标)。在</p>
<p>最好的时机是解决复杂的循环导入,或者如果您正尝试使用动态加载来提高性能。但是当谈到优化性能时,你应该总是先构建它,然后再看看它哪里出了问题。在</p>