首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PEP8进口公约

PEP8进口公约
EN

Stack Overflow用户
提问于 2016-09-14 15:22:19
回答 1查看 2.8K关注 0票数 1

当涉及到导入模块时,我试图坚持最佳实践,我试图理解PEP8对此的看法。

假设我的框架有上百个类和几十个包。例如,PyQt5或同情会是很好的候选人.最好的选择是什么?

a)导入

代码语言:javascript
复制
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

print(QPoint)
print(QPixmap)
print(QApplication)

( b)只导入大型包,并为整个应用程序使用前缀

代码语言:javascript
复制
from PyQt5 import QtCore, QtGui, QtWidgets

print(QtCore.QPoint)
print(QtGui.QPixmap)
print(QtWidgets.QApplication)

c)从大型包导入特定的类

代码语言:javascript
复制
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的建议是什么?

EN

回答 1

Stack Overflow用户

发布于 2016-09-14 15:28:02

没有推荐,因为这在很大程度上取决于您的项目,以及您可能遇到的潜在名称冲突。如果您还没有一个QPoint对象(或者是您自己的,或者可能来自不同的包),那么您可能会发现只在需要它的地方读写QPoint符号就更容易了。

但是,如果将来您与提供QPoint的不同包交互,则需要通过父包引用它们,或者在后续代码中引用PyQt5Point之前使用from PyQt5.QtCore import QPoint as PyQt5QPoint语法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39494192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档