擅长:python、mysql、java
<p>每个模块X应导入所有(且仅)模块Y、Z、T、。。。它需要谁的功能,不用担心其他模块的费用,Fie,Foo。。。(如有的话)可能已经完成部分或全部进口,或将来可能会这样做。在</p>
<p>它会使一个模块极其脆弱(事实上,它与模块性恰恰相反)如果每个模块都要担心这种微妙的“隐蔽通道”效应。在</p>
<p>任何人都不应该选择X来测试模块的细节,除了Z之外,其他人都不应该关注其他模块的实现</p>
<p>为了确保情况确实如此,为了确保这种最好的去耦策略能够并且将完全遵循合理的代码,Python在模块被导入时“缓存”:一个模块在每次运行一个程序时只“加载”一次,当任何人第一次导入它(或从它内部导入任何东西)时,所有其他导入都使用第一次加载所获得的相同对象,Python将其保存在缓存中(指定为dict<code>sys.modules</code>),但您只需要了解一些高级编程技术的细节。。。别担心,98.7%的时候——只要记住“进口便宜”!-). 在</p>
<p>当然,您通过<code>import conf</code>从其他几个模块中使用的<code>conf.py</code>绝对是一个模块(您可能认为您正在多次加载它,但除非您确实使用了非常先进和深思熟虑的技术),为什么不应该这样呢?在</p>