Функция __import__ является встроенной функцией Python, которая используется для импорта модулей. Хотя она редко используется напрямую в повседневном программировании, эта функция позволяет динамически импортировать модули в коде и является основой для функции import.
Содержание
Синтаксис
__import__(name, globals=None, locals=None, fromlist=(), level=0)
Параметры
name: Строка, представляющая имя модуля, который нужно импортировать.globals(необязательно): Словарь глобальных переменных. Обычно используется значение, возвращаемое функциейglobals().locals(необязательно): Словарь локальных переменных. Обычно используется значение, возвращаемое функциейlocals().fromlist(необязательно): Список имен, которые должны быть импортированы из модуля. Если пусто, возвращается сам модуль.level(необязательно): Уровень относительного импорта. Значение по умолчанию — 0, что означает абсолютный импорт.
Возвращаемое значение
Функция возвращает импортированный модуль. Если указан параметр fromlist, то возвращаются соответствующие объекты из модуля.
Примеры использования
Пример 1: Простой импорт модуля
math_module = __import__('math')
print(math_module.sqrt(4)) # Вывод: 2.0
Пример 2: Импорт с использованием fromlist
os_path_module = __import__('os', fromlist=['path'])
print(os_path_module.path) # Вывод: <module 'posixpath' from '...'>
Пример 3: Импорт с относительным уровнем
# Внутри пакета `mypackage` и модуля `mymodule`
relative_import = __import__('.mymodule', globals(), locals(), [], 1)
Важные замечания
- Рекомендуется использовать
import: В большинстве случаев лучше использовать стандартные инструкцииimportиfrom ... import ..., так как они более читабельны и понятны. - Безопасность: Динамический импорт модулей может быть рискованным, если вы импортируете модули из ненадежных источников. Будьте осторожны с данными, полученными из внешних источников.
- Использование в специальных случаях:
__import__полезен в ситуациях, когда имя модуля неизвестно до выполнения программы или для создания динамически загружаемых модулей.








