Курс 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
- Функция enumerate() в Python
- ChainMap избыточные ключи
- Изменение списка срезами
- Установка Python3.7 и PIP
- Нахождение пересечения множеств
- Python Метод sleep() времени
- Работа с WindowsPath()
- Фильтрация последовательности
- Безопасный доступ к значениям словаря
- Метод join() для объединения элементов строки
- Принципы SRP и OCP
- Преобразование текста в речь с Python
- Управление виртуальными средами в Python
- Сравнение неупорядоченных списков
- Beautiful Soup — извлечение данных из HTML
- Чтение бинарного файла в Python.
- Сравнение def и lambda-функций
- Создание словаря через dict comprehension
- Работа с буфером обмена на Python
- Генераторы в Python
- Объединение списков в строку
- Множественное присваивание в Python
- Удаление элементов из списка в Python
- Проверка кортежей.
- Метод rsub для пользовательских чисел
- Python Поверхностное Копирование
- Декораторы в Python
- Блок else в циклах Python
- Объединение, распаковка и деструктуризация
- Метод title() в Python
- Сортировка слиянием
- Измерение времени выполнения кода
- Повторение и перенос строки
- Преобразование числа в восьмеричную строку
- Многострочные комментарии в Python
- Функции высшего порядка в Python
- Проверка элементов списка условием
- Создание GUI с Tkinter: Entry
- Создание новых функций с помощью functools.partial
- Создание класса в Python
- Вычисление натуральных логарифмов в NumPy
- Очистка вывода в Python
- Преобразование в float
- Удаление элементов из списка















