是否应避免通配符导入?

是否应避免通配符导入?,第1张

是否应避免通配符导入

您的问题标题的答案是“是”:我建议不要使用

from ... import *
,并且在另一个最近的答案中讨论了原因。简而言之,合格名称
名称,裸名非常有限,因此在显示的名称中,“第三种选择”是最佳的(因为您将使用合格名称,而不是裸名)。

(具有合格名称的优点包括:易于伪造/模拟以用于测试目的,降低了因意外重新绑定而引起的未被注意的错误的风险已消除,可以将“跟踪类”中的顶级名称“半伪造”用于记录目的确切地说,您正在使用什么并简化了诸如剖析之类的活动-
缺点,几乎没有…

import this
在交互式解释器提示符下,还请参见Python Zen中最后但并非最不重要的版本。

同样好,如果您讨厌要说的7个多余字符

QtCore.whatever
,那就是缩写-
from PyQt4 import QtCore asCr
from PyQt4 import QtGi asGu
(然后使用
Cr.blah
Gu.zorp
)等。像所有的缩写,它的简洁和清晰之间的折衷风格(你宁愿名的变量
count_of_all_widgets_in_the_inventory
num_widgets
或者
x
?往往是中间的选择是最好的,但并不总是;-)。

顺便说一句,我不会

as
在一个
from
或一个语句中使用多个子句
import
(可能会造成混淆),我宁愿有多个语句(如果任何导入带来问题,也更容易调试,如果将来更改导入,则可以进行编辑,…)。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5655193.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存