Курс 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
- SciPy: широкий функционал для математических операций
- Сложение матриц в NumPy
- Объединение словарей в Python
- Получение локальных переменных в Python
- Преобразование чисел в Python
- Выбор редактора кода.
- Сравнение def и lambda функций в Python
- Логические значения в Python
- Модуль os в Python: работа с файлами
- Условные выражения в Python
- Обработка StopIteration в Python
- Работа с путями в Python
- JSON в Python: модуль, dump, dumps, load
- Метод rpow в Python
- Работа с файлами в Python
- Отрицательные индексы списков в Python
- Работа с байтовыми строками в Python
- Анонимные функции в Python
- Проектирование Singleton с метаклассом
- Распаковка значений в Python
- Атрибуты объекта в Python
- Генерация строк с .join()
- Генерация резюме в Gensim
- Генераторы в Python
- Основы работы с os
- Создание функций высшего порядка
- Метод is_absolute() для PurePath
- Работа с датами в Python
- HTTP-запросы с библиотекой Requests
- Модуль xkcd: загрузка комиксов
- Измерение времени выполнения кода
- Разделение строки на подстроки в Python
- Перезагрузка оператора в Python
- Основы Python
- Расширение информации об ошибке в Python
- Официальный канал Python в Telegram
- Работа с f-строками 2.0
- Обработка исключений в Python
- Генерация ключей RSA
- Обучение модели с указанием эпох
- Чтение и запись TOML-конфигов
- Создание Radio кнопок в tkinter
- Преобразование числа в список цифр
- Big O оптимизация
- Работа со словарями с defaultdict из collections
- Округление в Python
- Расчет времени выполнения программы
- Оптимизация памяти в Python















