我通常被告知以下是不好的做法。
from module import *
主要原因(或者有人告诉我)是,您可能会导入一些您不想要的东西,并且它可能会隐藏另一个模块中具有类似名称的函数或类。
但是,PyQt 呢
from PyQt4.QtCore import *
我见过的每个例子都是这样写的,主要是因为从 Qt 导出的所有东西都以“Q”开头,所以它不会遮挡任何东西。
共识是什么?使用 * 导入总是不好吗?
编辑:
需要说明的是,这个问题专门针对 PyQt4 的使用。这与我设计其他项目的方式无关。
基本上,我发现编码为 PEP8 提高了我的代码可读性,除了关于导入 PyQt4,所以直到现在我都无视纯粹主义者的皱眉。但是现在我的开发组正在决定一个约定,我想知道这是否是一个“实用性胜过纯度”的场景,或者我是否应该接受它并处理可怕的 PyQt4 导入
from PyQt4.QtGui import QComboBox, QLineEdit, QLayout, Q;lakdfaf.......
最佳答案
这可能会变成一场宗教 war 。这取决于您是要明确还是要避免过于冗长。一般来说,遵循Zen of Python , 最好是明确的,但有时人们只是觉得列出来自特定模块的每个导入是不切实际的。
关于Python * 导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5877218/