擅长:python、mysql、java
<p>Python名称空间要求每个名称都是不同的。每当您导入模块时,它总是导入到全局命名空间中。在前端,这些只是简单的任务。如果导入的内容与已存在的名称冲突,它将自动替换该名称所指定的引用。你知道吗</p>
<p>您不会希望Python在每次重新分配变量时都“提醒”您,那么为什么您希望Python对模块导入也这样做呢?你知道吗</p>
<p>例如:</p>
<pre><code>import foo as bar
bar = None
</code></pre>
<p>你猜怎么着?您刚刚用值<code>None</code>替换了分配给<code>bar</code>的模块对象。你知道吗</p>
<p>最后,回答您的问题:递归导入从来都不是一个好主意,因为它们充其量是混乱的,最坏的情况是危险的。你知道吗</p>