Что делает в утверждении импорта в Python означает? - PullRequest
108 голосов
/ 02 сентября 2011

Я просматриваю код для модуля Python multiprocessing, и он содержит следующую строку:

from ._multiprocessing import win32, Connection, PipeConnection

вместо

from _multiprocessing import win32, Connection, PipeConnection

тонкая разница - период до_multiprocessing.Что это значит?Почему период?

Ответы [ 2 ]

94 голосов
/ 02 сентября 2011

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

21 голосов
/ 02 сентября 2011

Точка в имени модуля используется для относительного импорта модуля (см. здесь и здесь , раздел 6.4.2).

Вы можете использовать более одной точки, имея в виду не пакет curent, а его родителей. Это должно использоваться только в пакетах, в основном модуле всегда следует использовать абсолютные имена модулей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...