Курс Python → Управление доступом к модулю
При разработке программ на Python иногда возникает необходимость управлять тем, что именно будет доступно для импорта из модуля, а что останется скрытым. Для этого можно использовать атрибут __all__. Например, если мы хотим экспортировать только функцию bar из модуля, мы можем указать __all__ = ['bar'].
Если оставить атрибут __all__ пустым, то из модуля не будет экспортироваться ничего. При попытке импорта какого-либо атрибута из такого модуля, Python выдаст ошибку AttributeError. Это может быть полезно, если вы хотите скрыть определенные функции или переменные от внешнего доступа.
Пример использования атрибута __all__:
# module.py
def foo():
pass
def bar():
pass
__all__ = ['bar']
В данном примере из модуля module будет доступна только функция bar, а функция foo будет скрыта. При попытке импортировать foo будет выдана ошибка. Это помогает управлять доступом к функциям и переменным в ваших модулях и делает код более чистым и понятным.
Другие уроки курса "Python"
- Измерение времени выполнения
- Преобразование документов в PDF с помощью Spire.Office
- Удаление ключей из словаря
- Делегирование в Python
- Удаление файлов и папок в Python
- Транспонирование 2D-массива с помощью zip
- Логирование в Python
- Запуск файлового сервера
- Работа с часовыми поясами в Python
- Бесконечные списки в Python
- Исправление ошибки NameError
- Retrying в Python: повторные вызовы
- Defaultdict в Python
- Оболочка Python
- Оптимизация параметров в Python
- Аннотации типов в Python
- Управление контекстом с помощью декоратора contextmanager
- Изменение списка срезами
- Освобождение памяти в Python
- Python reversed() функция
- Хранение переменных в словаре.
- Объединение объектов в Python
- Оператор «моржа» (Walrus Operator)
- Объединение, распаковка и деструктуризация
- Работа с модулем Calendar
- Переопределение метода __or__()
- Разница между датами
- Оптимизация строк в Python
- Python Translator: создание локальных переводчиков
- Основы слова
- Работа со словарями
- Отображение графиков в Jupyter с Matplotlib
- Генераторы в Python
- Мощь вложенных функций в Python
- Распаковка с оператором *
- Оператор walrus в Python
- Генерация случайных чисел в Python
- Метод округления чисел
- Применение промокода в Много лосося
- split() — разделение строки
- Виртуальные среды в Python
- Секреты Python
- Упрощение условных выражений с тернарным оператором
- Работа с каталогами в Python















