Автоимпорт Python

Возможный дубликат:
Perl's AUTOLOAD в Python ( getattr на модуле)

Я исхожу из PHP-фона и пытаюсь изучить Python, и я хочу быть уверенным в том, чтобы делать вещи «Python way», а не как раньше.

Мой вопрос исходит из того факта, что в PHP5 вы можете настроить свой код, поэтому, если вы попытаетесь вызвать класс, который не существует в пространстве имен, сначала будет запущена функция, которая будет загружать класс и позволит продолжить, как если бы он уже был загружен. преимущества этого – классы не были загружены, если они не были вызваны, и вам не пришлось беспокоиться о загрузке классов перед их использованием.

В python есть много внимания к выражению import, неудобно ли пытаться автоматически импортировать трюк с помощью python, чтобы облегчить необходимость в инструкции импорта? Я нашел этот модуль, который предлагает автоматический импорт, однако я не знаю, является ли это лучшим способом сделать это, или если автоматический импорт модулей – это то, что рекомендуется, мысли?

4 Solutions collect form web for “Автоимпорт Python”

Импорт служит, по меньшей мере, двум другим важным целям, помимо того, что модули или содержимое модулей доступны:

  1. Они служат своего рода заявлением о намерениях – «этот модуль использует службы из этого другого модуля» или «этот модуль использует службы, принадлежащие определенному классу» – например, если вы проводите обзор безопасности для кода обработки сокетов, вы может начаться только с просмотра модулей, которые импортируют socket (или другие связанные с сетью модули)
  2. Импорт служит прокси для сложности модуля. Если вы столкнулись с десятками строк импорта, возможно, настало время пересмотреть свое разделение проблем внутри модуля или в рамках вашего приложения в целом. Это также является хорошей причиной, чтобы избежать from foo import * « from foo import * ».

В Python люди обычно избегают автоматического импорта, просто потому, что это не стоит усилий. Вы можете немного снизить затраты на запуск, но в противном случае нет (или не должно быть) значительного эффекта. Если у вас есть модули, которые дорого импортируются и делают много вещей, которые не нужно делать, скорее перепишите модуль, чем задержите его импорт.

Тем не менее, нет ничего естественного в автоматическом импорте. Из-за природы прокси могут быть некоторые подводные камни (например, при просмотре вещи, которая еще не была импортирована). Несколько автоматических импортирующих библиотек плавают вокруг.

Если вы изучаете Python и хотите сделать что-то на Python, просто импортируйте модули. Очень необычно находить autoimports в коде Python.

Вы можете автоматически импортировать модули, но больше всего мне нужно было импортировать около 10, и это после того, как я применил функции поверх оригинальной программы. Вы не будете импортировать много, и имена очень легко запомнить.

  • flask admin: sqlalchemy.exc.InterfaceError (параметр привязки ошибки 8)
  • Быстрый способ возврата списка без определенного элемента в Python
  • Я действительно должен установить Xcode и скомпилировать PyObjC в результате обновления 1.7.6?
  • как установить прокси-сервер для chrome в python webdriver
  • Python и default dict, как отпечатать
  • Как правильно получить расширение файла?
  • Итерации по всем комбинациям значений в нескольких списках в python
  • Как вводить ввод в массив + PYTHON?
  •  
    Interesting Posts for Van-Lav

    Как создать собственный класс списка в python?

    Как я могу войти на сайт с Python?

    Python не может открыть 11gb csv в режиме r +, но открывается в режиме r

    Как я могу создать вектор из матрицы, используя указанные столбцы из каждой строки без цикла в Python?

    Вычисление с несколькими Y-осями

    Не удалось удалить объекты пользователя в Django

    Python и ElementTree: возвращает «внутренний XML», исключая родительский элемент

    Java для передачи args скрипту Python

    Самый чистый способ вызова одной функции в списке элементов

    Как уменьшить размер файла изображения с помощью PIL

    matplotlib: изменить интервал сетки и указать метки меток

    Ошибка «utf-8» при загрузке модуля word2vec

    Группируйте по кадру данных pandas и выберите наиболее распространенный строковый коэффициент

    Возврат max для нуля или значения для столбца DataFrame pandas

    Как закрыть объект файла, который я никогда не назначал переменной?

    Python - лучший язык программирования в мире.