Python * 导入

标签 python pyqt python-import

我通常被告知以下是不好的做法。

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/

相关文章:

python - Azure ML Studio - 容器已崩溃。你的init方法失败了吗

python - 谷歌应用引擎中的内存缓存

python - 在PyQt5中用于显示图像的类

Python 导入错误 : cannot import name XXXX

Python 导入错误 - NUMPY MKL

python - 如何在 Python 中将条件与 for 循环结合起来?

python - django 表 onlineshop_product 没有名为 name 的列

matplotlib - Matplotlib 中的透明导航栏(或者,可以在没有栏的情况下添加导航按钮吗?)

python - 反射(reflect) QPixmap

python - 属性错误 : module 'alembic.context' has no attribute 'config'