导入Python模块的区别

时间:2017-02-04 12:53:34

标签: python import

最近,Python import语句的问题让我感到震惊。

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

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

Method-01 import foo.bar as spams

方法-02 from foo import bar as spams

第一种方法是我通常使用的方法,而替代方法就是我发现的方法。但我意识到第二种方法更加明确" 我想知道两种方法(如果有的话)之间有什么区别:

  • 效率
  • Pythonic代码
  • 公约

1 个答案:

答案 0 :(得分:2)

关于第一点和第三点,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导入为垃圾邮件

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