首页 > 后端开发 > Python教程 > 通配符导入:使用还是不使用?

通配符导入:使用还是不使用?

Linda Hamilton
发布: 2024-11-21 08:10:11
原创
871 人浏览过

Wildcard Imports: To Use or Not to Use?

通配符导入:最佳实践指南

通配符导入,例如 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板