Курс Python → Управление импортом в Python
В Python управление тем, что может быть импортировано из модуля, а что — нет, осуществляется с помощью атрибута `__all__`. Если в модуле определить атрибут `__all__`, то при импорте через `from module import *` будут импортированы только те имена, которые перечислены в этом атрибуте. В противном случае будут импортированы все имена, не начинающиеся с нижнего подчеркивания.
Например, если у нас есть модуль `my_module.py` с определенными функциями и переменными, и мы хотим импортировать только часть их из этого модуля, мы можем определить атрибут `__all__` внутри этого модуля. Например, `__all__ = [‘my_function’, ‘my_variable’]`. Тогда при импорте `from my_module import *` будут доступны только `my_function` и `my_variable`.
# Пример определения атрибута __all__ в модуле
__all__ = ['my_function', 'my_variable']
def my_function():
print("This is my function")
my_variable = 42
Если атрибут `__all__` не определен в модуле, то при импорте через `from module import *` будут доступны все имена, которые не начинаются с нижнего подчеркивания. Это может привести к тому, что будут импортированы имена, которые не предполагалось экспортировать из модуля, что может привести к конфликтам и ошибкам в программе.
Использование атрибута `__all__` позволяет более четко контролировать, какие имена из модуля должны быть доступны для импорта извне, что способствует более структурированному и безопасному программированию в Python.
Другие уроки курса "Python"
- Официальный канал Python в Telegram
- Создание объекта timedelta
- Многопроцессорное программирование в Python
- Методы classmethod и staticmethod
- Декораторы с аргументами
- Навыки Python: строки, типы данных
- GitHub в Telegram: подписка на уведомления
- Проверка элемента в множестве.
- Генераторы списков
- Частичное применение функций в Python
- Работа с итераторами в Python
- Сортировка в Python
- Область видимости переменных
- Получение ID процесса
- Форматирование объектов с модулем pprint
- Удаление файлов и папок в Python
- Поиск кода
- Принципы программирования
- Экспорт данных с помощью writefile
- Работа с файлами в Python
- Оператор «or» в Python
- Фильтрация данных в Python.
- Прокачанный трейсинг ошибок
- Работа с библиотекой requests
- Хэш-функции в Python
- Транспонирование 2D-массива с помощью zip
- Копирование словарей и списков в Python
- Работа с контекстными менеджерами
- Любовь к Python
- Работа с атрибутом dict
- Сравнение def и lambda функций в Python
- Принципы LSP и ISP в Python
- Обновление шаблона base.html
- Преобразование строк в числа в Python
- Структура данных deque в Python
- Работа с комплексными числами
- Форматирование строк в Python
- Строковое представление объектов
- Python UserString — создание подклассов строк
- Введение в Python
- Работа с контекстным менеджером Pool
- Отладка кода
- Логические значения в Python
- Работа с временем в Python
- Генератор надежных паролей
- Слияние словарей в Python 3.9















