我试图找到一个综合指南,说明最好使用 import module
还是 from module import
。我刚开始使用 Python,我正在尝试从最佳实践入手。
基本上,我希望有人能分享他们的经验、其他开发人员的偏好以及避免任何陷阱的最佳方法是什么?
最佳答案
import module
和 from module import foo
的区别主要是主观的。选择您最喜欢的一个,并在使用时保持一致。以下几点可以帮助您做出决定。
导入模块
- 优点:
- 减少对
import
语句的维护。无需添加任何额外的导入即可开始使用模块中的其他项目
- 减少对
- 缺点:
- 在您的代码中输入
module.foo
可能会很乏味且多余(可以通过使用import module as mo
然后输入mo.foo
)
- 在您的代码中输入
从模块导入 foo
- 优点:
- 使用
foo
减少输入
- 更多地控制可以访问模块的哪些项目
- 使用
- 缺点:
- 要使用模块中的新项目,您必须更新
import
语句 - 你失去了关于
foo
的上下文。例如,与math.ceil()
相比,
ceil()
的作用不太清楚 - 要使用模块中的新项目,您必须更新
任何一种方法都可以,但不要使用from module import *
。
对于任何合理的大型代码集,如果您 import *
您可能会将其固定到模块中,无法删除。这是因为很难确定代码中使用的哪些项目来自“模块”,因此很容易达到您认为不再使用 import
的地步,但它是很难确定。
关于python - 使用 'import module' 还是 'from module import' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/710551/