【问题标题】:Difference in importing Python module [duplicate]导入Python模块的区别[重复]
【发布时间】:2017-06-21 18:58:44
【问题描述】:

最近,Python import 语句的一个问题让我印象深刻。

问题:我有一个包foo,其中包含一个模块bar,我需要将其称为spams

有两种方法可以执行此操作:

方法01import foo.bar as spams

方法02from foo import bar as spams

第一种方法是我通常使用的,另一种方法是我发现的。但我意识到第二种方法更“明确”。
我想知道这两种方法(如果有的话)在以下方面有什么区别:

  • 效率
  • Python 代码
  • 约定

【问题讨论】:

  • @RahulKP 虽然它是什么连接它不是 OP 所要求的
  • @RahulKP 我相信我的问题比你提到的问题更具体,也有些不同。
  • @mkrieger1 我相信我的问题比你提到的问题更具体,也有些不同。

标签: python import


【解决方案1】:

关于第一点和第三点,here你可以找到所有关于它的信息。

导入子模块存在一个稍微特殊的情况。

声明:

import os.path

将模块 os 本地存储为 os,以便 导入的子模块路径可作为 os.path 访问。结果:

import os.path as p

在 p 中存储 os.path ,而不是 os 。

这使得它实际上与:

from os import path as p

如您所见,官方记录了效率惯例在这里并不重要。

至于更多pythonic代码:根据我的经验,我主要看到

将 foo.bar 导入为垃圾邮件

我认为这是因为可读性,但这取决于您所在的团队。

【讨论】:

    猜你喜欢
    • 2018-03-19
    • 2015-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-21
    • 2012-02-05
    • 2017-05-13
    相关资源
    最近更新 更多