Курс 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
- Импорт объектов из модулей
- Порядок операций в Python
- Оператор «not» в Python
- Работа с путями в Python
- Создание словарей и множеств в Python.
- Установка виртуального окружения Python
- Преобразование списков в словарь
- Объединение Python и Shell
- Подсчет элементов в списке с Counter
- Операции с комплексными числами
- Метод join() для объединения элементов
- Создание именованных кортежей в Python
- Работа с модулем bisect
- Форматирование строк с % в Python
- Открытие, чтение и закрытие файла
- Замена текста в Python
- EMOT преобразование эмодзи в текст
- Распаковка аргументов в Python
- Создание namedtuple списком полей
- Представление бесконечности в Python
- Функции-генераторы в Python
- Создание новых списков в Python
- Оператор «is not» в Python
- Преобразование Word в PDF с Spire.Doc
- Порядок и длина множеств в Python
- Переворот строки с помощью срезов
- Документирование функций в Python
- Расчет времени выполнения кода
- Работа с контекстными менеджерами
- Работа с файловой системой в Python
- Получение ID текущего процесса
- Хэш-функции и метод цепочек
- Создание пар из последовательностей
- Удаление пробелов методом translate()
- Создание спинбокса в tkinter
- Изменение объектов в Python
- Имена объектов в Python
- Открытие и запись файлов
- Измерение времени выполнения с помощью time
- Работа с базами данных SQLite
- Декораторы в Python
- Управление контекстом выполнения кода
- Блок else в циклах.
- Принципы SRP и OCP
- Итераторы в Python
- Частичное совпадение пользовательского ввода в Python 3.10
- Оптимизация памяти с помощью __slots__















