Курс 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
- Создание списков в Python
- Сравнение строк в Python
- Метод append() для списка
- Условные выражения в Python
- Работа с YAML в Python
- Автоматизация с Python
- Преобразование многоуровневого словаря
- Разделение строки на подстроки в Python
- Создание namedtuple списком полей
- Разработка Telegram-ботов
- Создание namedtuple из словаря
- Библиотека wikipedia для Python
- Основные операции с Numpy
- Работа с прокси в Python
- Ввод нескольких значений
- Проверка типа объекта в Python
- Оператор объединения словарей
- kwargs в Python
- Операторы += в Python
- Порядок и длина множеств в Python
- Оператор del в Python
- Python: библиотеки и функции
- Измерение времени выполнения кода с помощью time
- Генераторные выражения и islice.
- Построение графиков в Matplotlib
- Оператор break в Python
- Получение текущей даты и времени с помощью datetime
- Метод join для объединения строк
- Непрерывная проверка в Python
- Функции map, filter, reduce
- Применение функции map() с лямбда-функциями
- Переопределение метода sub
- Создание и инициализация объектов
- Работа с Enum в Python3.
- Обработка исключений с блоком else
- Лямбда-функции в Python
- Генераторы в Python
- Создание словарей с defaultdict
- Тестирование функции сложения
- Пропуск строк в файле с itertools
- Участие в сообществе @selectel
- Безопасные SQL-запросы в Python 3.11
- Сравнение def и lambda функций в Python
- Разделение строки с помощью split()
- Python Метод del.
- Использование функции enumerate()
- Скачать видео с YouTube















