当前位置: 首页 > 面试题库 >

Python-使用“导入模块”还是“从模块导入”?

查飞星
2023-03-14
问题内容

我已尝试找到有关最佳使用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
  • 优点:
  • 减少打字使用 foo
  • 更好地控制可以访问模块的哪些项目

  • 缺点:

  • 要使用模块中的新项目,你必须更新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”的模块