我已尝试找到有关最佳使用import module
还是全面的指南from module import
。我刚开始使用Python,并且正在尝试着眼于最佳实践。
基本上,我希望有人能分享他们的经验,其他开发人员有什么喜好,以及避免遇到麻烦的最佳方法是什么?
import module
和之间的区别from module import foo
主要是主观的。选择最喜欢的一个,并在使用中保持一致。这里有一些要点可以帮助你做出决定。
import module
优点:
- 减少维护你的import报表。无需添加任何其他导入即可开始使用模块中的另一个项目
缺点:
- 输入module.foo代码可能既乏味又多余(可以通过使用import module as mo然后键入来最小化乏味mo.foo)
from module import foo
更好地控制可以访问模块的哪些项目
缺点:
from module import *
。对于任何合理的大型代码集,如果你import *
可能会将其固定在模块中,则无法删除。这是因为很难确定代码中使用的哪些项来自“模块”,从而很容易得出你认为不再使用这些项的地步,import但是很难确定。
我有一个这样的目录: 我可以这样导入父模块: 那么,既然我已经有了父模块,那么获取子模块的最佳方法是什么?我已经尝试了,,等。 有什么建议吗? 谢谢
问题内容: 我不清楚如何正确命名这个问题。 情况1 假设我具有以下目录结构。 如果我有 我如何知道要导入哪个条(或)?有没有简单的方法可以自动检测到这种情况? 情况二 如果other.py有这一行 我如何知道要导入哪个foo(foo或foo.foo)?再次,这是否是一种简单的方法来自动检测到这种情况? 问题答案: TLDR;如果程序包位于同一目录中,则它们优先于相同名称的模块。 从文档: “当导入
问题内容: 只是想知道我们如何在node.js 8中导入模块-我们仍在使用吗? 还是我们仍然需要babel来使用? 我一直在挖掘,但似乎没有答案。如果我们仍然必须使用require,为什么节点还不能实现? 问题答案: UPDATE-2018.11.15↓ 简短答案 我们仍在使用 长答案 ESM加载已部分降落在2017年9月发布的node 上。正因为如此,它已经成为规范的一部分,并且已经作为实验功能
根据这个答案,您可以使用来使用类似这样的相对导入: 为什么相对导入不适用于sklearn。特征提取。文本 我验证了是一个具有以下功能的模块: 编辑 “不工作”,我的意思是它不导入模块。 我正在使用Python 3.4 绝对方式工作: 相对方式不:
主要内容:import 模块名 as 别名,from 模块名 import 成员名 as 别名使Python 进行编程时,有些功能没必须自己实现,可以借助 Python 现有的标准库或者其他人提供的第三方库。比如说,在前面章节中,我们使用了一些数学函数,例如余弦函数 cos()、绝对值函数 fabs() 等,它们位于 Python 标准库中的 math(或 cmath)模块中,只需要将此模块导入到当前程序,就可以直接拿来用。 前面章节中,已经看到使用 import 导入模块的语法,但实际上
我需要在Python中导入一个名为array_queue的模块。我检查了一下,如果我不使用它,就会出现一个提示:“array_queue imported but unused”。但是,如果我使用它并运行该程序,则会出现以下情况: ModuleNotFounderRror:没有名为“array_queue”的模块