通配符导入,例如 from PyQt4 import *,是编程社区中常见的争论来源。然而,许多开发人员同意通常应该避免使用它们。
限定名称优于裸名称。最好使用 from PyQt4.QtCore import Qt 之类的语法显式指定从中导入的模块,而不是 from PyQt4 import Qt。限定名称可以更轻松地跟踪代码依赖性和调试错误。
它们还可以降低模块之间发生冲突的风险。如果两个模块定义了同名的函数,则需要显式导入其中一个以避免歧义。通配符导入使人们更容易忽略此类冲突,从而导致意外错误。
最后,通配符导入会使测试代码变得更加困难。例如,如果您要模拟来自第三方库的类,如果您有对该类的合格引用,那么这样做会更容易。
如果您如果想要减少导入语句中的行数,您可以为模块创建别名。例如,您可以编写:
import PyQt4 Qt = PyQt4.QtCore
这种方法允许您使用 Qt.QPointF、Qt.QRectF 等,而不必显式地编写限定每个名称。
另一个选项是使用选择性导入。您可以只导入您需要的类,而不是从模块导入所有类:
from PyQt4.QtCore import QPointF, QRectF from PyQt4.QtGui import QGraphicsItem, QGraphicsScene
这比使用通配符导入更冗长,但它的优点是仅导入您实际使用的类.
虽然通配符导入可能很诱人,但通常不推荐使用。限定名称更具可读性、不易出错且更易于测试。如果您正在寻找减少导入语句中行数的方法,请考虑使用别名或选择性导入。
以上是通配符导入:使用还是不使用?的详细内容。更多信息请关注PHP中文网其他相关文章!