Курс 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"
- Итерация по итерируемым объектам
- Многопоточность и асинхронное программирование в Python
- JSON в Python: модуль, dump, dumps, load
- Работа с Path в Python
- Отображение графиков в Jupyter с Matplotlib
- Область видимости переменных в Python
- Проверка типов с помощью isinstance
- Переменная Шредингера
- Генерация случайных чисел Python
- Удаление знаков препинания в Python
- Непрерывная проверка в Python
- Многопоточность в Python
- Создание функций с произвольным количеством аргументов
- Переопределение метода __pow__
- Удаление элементов во время итерации
- Оптимизация гиперпараметров с Scikit Optimize
- Python и Юникод: работа с цифрами
- Функция с *args.
- Контекстный менеджер в Python
- Получение размера объекта с sys.getsizeof()
- Python Calendar Usage
- Кортеж в Python: создание, доступ, изменение
- Создание коллекций из выражения-генератора
- Разработка Telegram-ботов
- Декораторы в Python
- Работа с дробями в Python
- Создание и использование ChainMap
- Создание списка дат
- Оператор Walrus в Python 3.8
- Путь к интерпретатору Python
- inspect в Python: анализ кода
- Итерация по коллекции в Python
- Создание namedtuple списком полей
- Оболочка Python
- Измерение времени выполнения кода
- Работа с модулем os в Python
- Создание комплексных чисел
- Оператор space-invader
- Вставка переменных в шаблоны Flask
- Получение частей дроби
- Определение относительного пути
- Построение графиков в Matplotlib
- Операции с массивами в NumPy
- Оператор обр. импликации
- Работа с датой и временем в Python
- Операторы увеличения и уменьшения в Python
- Распаковка значений в Python















