Курс 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"

  1. Вычисление логарифмов в Python
  2. Удаление пробелов методом translate()
  3. Чтение и запись TOML-конфигов
  4. Удаление ключа из словаря в Python
  5. Глобальные переменные в Python
  6. Подсчет элементов в Python
  7. Безопасные SQL-запросы в Python 3.11
  8. Декоратор total_ordering для сравнения объектов
  9. Метод setdefault() в Python
  10. Сериализация данных в JSON с помощью json.dumps
  11. Декораторы в Python
  12. Метод repr() в Python
  13. Проектирование Singleton с метаклассом
  14. TypedDict для kwargs в Python 3.12
  15. Удаление символов новой строки в Python.
  16. Математические функции в Python
  17. Оценка точности модели
  18. Форматирование вывода списков
  19. Удаление символа из строки
  20. Поиск самого частого элемента
  21. Обязательные аргументы в Python
  22. Изменение логики работы с временем
  23. Работа с deque из collections
  24. Управление IP-адресами через прокси
  25. Декоратор Property в Python
  26. Преобразование букв в нижний регистр
  27. Работа с библиотекой xkcd
  28. Преобразование кортежа в словарь.
  29. Фильтрация списков с itertools
  30. Добавление цвета в консоли
  31. Обновление ключей в Python
  32. Пересечение списков с использованием множеств
  33. Поиск шаблона в начале строки
  34. Работа с временем в Python
  35. Возведение в квадрат с помощью itertools
  36. Работа с CSV файлами
  37. Очистка вывода в Python
  38. Измерение времени выполнения кода
  39. Сериализация объектов в Python
  40. Работа с комплексными числами в Python
  41. Работа с географическими данными в Python
  42. Метаклассы в Python
  43. Возврат нескольких значений
  44. Функция zip() в Python
  45. Структуры данных в Python

Marketello читают маркетологи из крутых компаний