Курс 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 3.7
- Итераторы в Python
- Подсчет вхождений элементов
- Получение текущего времени в Python
- Оператор is в Python
- Метод rrshift для пользовательских объектов
- Перевод эмодзи и эмотиконов.
- Сравнение def и lambda в Python
- Добавление элементов в список: append() vs extend()
- Итераторы в Python
- Поиск анаграмм с Counter
- Метод rmatmul для обратного матричного умножения
- Списки: объединение, изменение
- Метод join() для объединения элементов строки
- Декораторы в Python
- Оператор «not» в Python
- Метод __float__ в Python
- Измерение времени выполнения кода
- Создание новых списков
- Запрос DELETE с библиотекой requests
- Замена текста с re.sub()
- Правила именования переменных
- Работа с очередями в Python
- Логические значения в Python
- Объединение, распаковка и деструктуризация
- Группировка элементов Python
- Удаление falsy-значений из списка с помощью filter
- Создание .exe файла с pyinstaller
- Проверка индексов коллекции
- Работа с CSV файлами
- Метод setitem в Python
- Справка по импортированным модулям
- Конкатенация строк с помощью join()
- Преобразование документов в PDF с помощью Spire.Office
- Отладка производительности Python
- Функции map, filter, reduce
- Оператор «is not» в Python
- Выход из профиля в Django
- Python union() функция — объединение множеств
- Сглаживание списка
- Функции-генераторы в Python
- Работа с collections в Python.
- Преобразование range в итератор
- Поиск шаблона в начале строки
- Ветвление выражения в Python















