导入Python模块的区别[重复]
Posted
技术标签:
【中文标题】导入Python模块的区别[重复]【英文标题】:Difference in importing Python module [duplicate] 【发布时间】:2017-06-21 18:58:44 【问题描述】:最近,Python import
语句的一个问题让我印象深刻。
问题:我有一个包foo
,其中包含一个模块bar
,我需要将其称为spams
。
有两种方法可以执行此操作:
方法01:import foo.bar as spams
方法02:from foo import bar as spams
第一种方法是我通常使用的,另一种方法是我发现的。但我意识到第二种方法更“明确”。 我想知道这两种方法(如果有的话)在以下方面有什么区别:
效率 Python 代码 约定【问题讨论】:
@RahulKP 虽然它是什么连接它不是 OP 所要求的 @RahulKP 我相信我的问题比你提到的问题更具体,也有些不同。 @mkrieger1 我相信我的问题比你提到的问题更具体,也有些不同。 【参考方案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 导入为垃圾邮件
我认为这是因为可读性,但这取决于您所在的团队。
【讨论】:
以上是关于导入Python模块的区别[重复]的主要内容,如果未能解决你的问题,请参考以下文章