«из x импортировать y как z» против «импортировать x.y как z» - PullRequest
6 голосов
/ 17 февраля 2011

Я полагаю, что они функционально одинаковы, за исключением незначительных различий между ними.Если это так, какая форма более Pythonic?

1 Ответ

3 голосов
/ 18 февраля 2011

Форма 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
>>> 

Точечная запись зарезервирована для модулей и должна использоваться, когда задействованы модули.

...