Использовать «модуль импорта» или «из модуля импорта»? - PullRequest
327 голосов
/ 02 апреля 2009

Я пытался найти исчерпывающее руководство о том, лучше ли использовать import module или from module import? Я только начал с Python и пытаюсь начать с лучших практик.

По сути, я надеялся, что кто-нибудь сможет поделиться своим опытом, какие предпочтения имеют другие разработчики и как лучше всего избежать каких-либо ошибок в будущем?

Ответы [ 13 ]

4 голосов
/ 02 апреля 2009

В дополнение к тому, что люди говорили о from x import *: помимо того, что становится труднее определить, откуда пришли имена, это отбрасывает средства проверки кода, такие как Pylint. Они сообщат эти имена как неопределенные переменные.

3 голосов
/ 02 апреля 2009

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

Обычно я предпочитаю стиль самодокументирования простого импорта и меняю его на с ... импорта, когда число раз, когда мне приходится вводить имя модуля, становится больше 10–20, даже если импортируется только один модуль.

0 голосов
/ 20 января 2016

Импорт модуля - вам не нужно никаких дополнительных усилий для извлечения другой вещи из модуля. У него есть такие недостатки, как избыточная печать

Модуль Импортировать из - Меньше ввода и Больше контроля над тем, какие элементы модуля могут быть доступны. Чтобы использовать новый элемент из модуля, вам необходимо обновить оператор импорта.

...