python – 应该避免使用通配符导入吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 应该避免使用通配符导入吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1540字,纯文字阅读大概需要3分钟。
内容图文
![python – 应该避免使用通配符导入吗?](/upload/InfoBanner/zyjiaocheng/716/62881aaa0207482eb202bbf0ff3f6699.jpg)
我正在使用PyQt并遇到了这个问题.如果我的import语句是:
from PyQt4.QtCore import *
from PyQt4.QtGui import *
然后pylint给出了数百个“未使用的导入”警告.我很犹豫要把它们关闭,因为可能有其他未使用的导入实际上很有用.另一种选择是这样做:
from PyQt4.QtCore import Qt, QPointF, QRectF
from PyQt4.QtGui import QGraphicsItem, QGraphicsScene, ...
我最终在QtGui线上有9节课.还有第三种选择,它是:
from PyQt4 import QtCore, QtGui
然后每当我使用它们时,用QtCore或QtGui为所有类添加前缀.
在这一点上,我不知道我最终在我的项目中做了哪一个,尽管从我的角度来看,最后一个似乎是最痛苦的.这里的常见做法是什么?是否有技术理由使用一种风格而不是另一种风格?
解决方法:
你问题标题的答案是“是”:我建议永远不要使用… import *,我在另一个最近的答案中讨论了原因.简而言之,合格的名称是好的,姓名非常有限,因此“第三选项”是最佳的(因为您将使用合格的名称,而不是姓名).
(合格名称的优点,包括伪名称,包括易于伪造/模拟以用于测试目的,减少因意外重新绑定引起的无意识错误的无效风险,能够在“跟踪类”中“半假”顶级名称以进行日志记录正是你正在使用和简化诸如剖析之类的活动等等 – 缺点,几乎没有…也参见Python的Zen中的最后但并非最不重要的公案,在交互式解释器提示中导入).
同样好,如果你吝啬7个额外的字符来说QtCore.whatever,就是缩写 – 从PyQt4导入QtCore作为Cr,从PyQt4导入QtGi作为Gu(然后使用Cr.blah和Gu.zorp)等.像所有缩写一样,它是简洁和清晰之间的风格权衡(你更愿意命名变量count_of_all_widgets_in_the_inventory,num_widgets或x?中间选择通常是最好的,但并非总是如此;-).
顺便说一句,我不会在单个from或import语句中使用多个as子句(可能会令人困惑),我宁愿有多个语句(如果任何导入问题也更容易调试,如果更改导入则编辑在将来, …).
内容总结
以上是互联网集市为您收集整理的python – 应该避免使用通配符导入吗?全部内容,希望文章能够帮你解决python – 应该避免使用通配符导入吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。