2017-02-04 59 views
1

最近,Python import声明引发了一个问题。导入Python模块的区别

问题:我有一个包含一个模块bar我需要参考作为spamsfoo

有2种方法,我可以执行此操作:

方法-01import foo.bar as spams

方法-02from foo import bar as spams

第一种方法是什么,我一般用和替代方法是我发现的。但是我意识到第二种方法有点“明确”。
我想知道是什么(如果有的话)有关于这两种方法之间的区别:

  • 效率
  • Python的代码
  • 公约
+2

@RahulKP虽然它是什么连接它不是什么OP要求 – MaLiN2223

+0

@RahulKP我相信我的问题是比你提到的问题更具体和有点不同。 –

+0

@ mkrieger1我相信我的问题比你提到的问题更具体和有些不同。 –

回答

2

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

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

声明:

import os.path

存储模块OS当地人称为OS,使 进口的子模块路径是os.path中访问。其结果是:

import os.path as p

店os.path中,没有操作系统,在页。

这使得它实际上是相同的:

from os import path as p

正如你可以看到它正式记载,效率约定此处无关紧要。

至于更Python的代码:从我的经验,我主要是看

进口foo.bar作为修建垃圾

我认为,这是因为可读性的,但是这取决于你正在研究的团队。