当涉及到导入模块时,我试图坚持最佳实践,我试图理解PEP8对此的看法。
假设我的框架有上百个类和几十个包。例如,PyQt5或同情会是很好的候选人.最好的选择是什么?
a)导入
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
print(QPoint)
print(QPixmap)
print(QApplication)( b)只导入大型包,并为整个应用程序使用前缀
from PyQt5 import QtCore, QtGui, QtWidgets
print(QtCore.QPoint)
print(QtGui.QPixmap)
print(QtWidgets.QApplication)c)从大型包导入特定的类
from PyQt5.QtCore import QPoint
from PyQt5.QtGui import QPixmap
from PyQt5.QtWidgets import QApplication
print(QPoint)
print(QPixmap)
print(QApplication)选项a)被PEP8劝阻,那么b)或c).PEP8 8的建议是什么?
发布于 2016-09-14 15:28:02
没有推荐,因为这在很大程度上取决于您的项目,以及您可能遇到的潜在名称冲突。如果您还没有一个QPoint对象(或者是您自己的,或者可能来自不同的包),那么您可能会发现只在需要它的地方读写QPoint符号就更容易了。
但是,如果将来您与提供QPoint的不同包交互,则需要通过父包引用它们,或者在后续代码中引用PyQt5Point之前使用from PyQt5.QtCore import QPoint as PyQt5QPoint语法。
https://stackoverflow.com/questions/39494192
复制相似问题