"from x import y as z"和"import x.y as z"有何区别?"

10
我认为它们在功能上是相同的,除了一些微不足道的底层区别。如果是这样,哪种形式更符合Python风格?
1个回答

8

当涉及到包和模块时,x.y形式使得这一点变得隐含,因此在这种情况下应该优先使用该形式。

如果t是在模块y中定义的符号,则:

>>> from x.y import t as z
>>>

...但是

>>> import x.y.t as z
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named t
>>> 

点符号表示模块的意义,因此在涉及到模块的时候应该使用点符号。


1
同意所有内容,除了语法错误和可能的弃用部分。 - Ethan Furman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接