擅长:python、mysql、java
<p>您的问题标题的答案是“是”:我建议您不要使用<code>from ... import *</code>,我在最近的另一个答案中讨论了原因。简而言之,限定名<em>好</em>,barenames是非常有限的,因此“第三个选项”在您所呈现的名称中是最佳的(因为您将使用限定名,而不是barenames)。</p>
<p>(与裸名相关的限定名的优点包括易于为了测试而伪造/模仿,减少了由于意外重新绑定而导致未注意到的错误的风险,能够在“跟踪类”中“半伪造”顶级名,以便准确地记录您正在使用的内容并简化分析等活动,等等——缺点,几乎没有。。。另请参见Python禅中最后但并非最不重要的koan,<code>import this</code>在交互式解释器提示下)。</p>
<p>同样好的是,如果你不喜欢这7个额外的字符,比如<code>QtCore.whatever</code>,那就是缩写--<code>from PyQt4 import QtCore as Cr</code>和<code>from PyQt4 import QtGi as Gu</code>(然后使用<code>Cr.blah</code>和<code>Gu.zorp</code>)等。与所有缩写词一样,它是简洁性和清晰性之间的一种样式权衡(您愿意命名变量<code>count_of_all_widgets_in_the_inventory</code>、<code>num_widgets</code>,还是<code>x</code>)?通常中间的选择是最好的,但并不总是如此;-)。</p>
<p>顺便说一句,我不会在一个<code>from</code>或<code>import</code>语句中使用多个<code>as</code>子句(可能会令人困惑),我宁愿有多个语句(如果任何导入有问题,也更容易调试,如果以后更改导入,则可以编辑,…)。</p>