Курс 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
- Удаление пробелов методом translate()
- Чтение и запись TOML-конфигов
- Удаление ключа из словаря в Python
- Глобальные переменные в Python
- Подсчет элементов в Python
- Безопасные SQL-запросы в Python 3.11
- Декоратор total_ordering для сравнения объектов
- Метод setdefault() в Python
- Сериализация данных в JSON с помощью json.dumps
- Декораторы в Python
- Метод repr() в Python
- Проектирование Singleton с метаклассом
- TypedDict для kwargs в Python 3.12
- Удаление символов новой строки в Python.
- Математические функции в Python
- Оценка точности модели
- Форматирование вывода списков
- Удаление символа из строки
- Поиск самого частого элемента
- Обязательные аргументы в Python
- Изменение логики работы с временем
- Работа с deque из collections
- Управление IP-адресами через прокси
- Декоратор Property в Python
- Преобразование букв в нижний регистр
- Работа с библиотекой xkcd
- Преобразование кортежа в словарь.
- Фильтрация списков с itertools
- Добавление цвета в консоли
- Обновление ключей в Python
- Пересечение списков с использованием множеств
- Поиск шаблона в начале строки
- Работа с временем в Python
- Возведение в квадрат с помощью itertools
- Работа с CSV файлами
- Очистка вывода в Python
- Измерение времени выполнения кода
- Сериализация объектов в Python
- Работа с комплексными числами в Python
- Работа с географическими данными в Python
- Метаклассы в Python
- Возврат нескольких значений
- Функция zip() в Python
- Структуры данных в Python















