"从x导入y为z"与"import xy as z"

tsh*_*ang 7 python python-import

我假设它们在功能上是相同的,可以忽略一些可以忽略不计的引擎盖差异.如果是这样,哪种形式更像Pythonic?

Apa*_*ala 7

这种x.y形式暗示了包和模块的参与,在这种情况下应该是首选形式。

如果t是 module 中定义的符号y,则:

>>> from x.y import t as z
>>>
Run Code Online (Sandbox Code Playgroud)

……但是

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

点符号是为模块保留的,应该在涉及模块时使用。