x导入y为z" vs. "导入x.y为z

10 投票
1 回答
3818 浏览
提问于 2025-04-16 11:59

我假设它们在功能上是一样的,只是有一些微不足道的内部差异。如果是这样的话,哪种写法更符合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
>>> 

点号写法是专门用来表示模块的,所以在涉及模块的时候应该使用这种写法。

撰写回答