Курс 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. Переопределение метода __and__
  3. Работа с областями видимости переменных
  4. Принципы программирования
  5. Метод rsub для пользовательских чисел
  6. Функции в одну строку
  7. Вложенные функции в Python
  8. Обратный список чисел
  9. Обмен данными с asyncio.Queue
  10. Управление контекстом выполнения
  11. Поиск наиболее частого элемента
  12. Метод splitlines() для разделения строк
  13. Метод __int__ в Python
  14. lru_cache оптимизация функций
  15. Проверка элемента в множестве.
  16. Операции с числами в Python
  17. Проверка дубликатов в Python
  18. Проверка существования переменной с оператором :=
  19. Создание словарей с defaultdict()
  20. Flask: создание веб-приложений
  21. Генерация случайных чисел в Python
  22. Метод clear для коллекций
  23. Компиляция регулярных выражений
  24. Изучение объектов с помощью dir()
  25. Удаление элементов из списка в Python.
  26. Реверс строки в Python
  27. Возврат нескольких значений
  28. Функции с необязательными аргументами
  29. Объединение словарей в Python
  30. Абстракции словарей и множеств в Python
  31. Оператор «not» в Python
  32. Регулярные выражения: метод match
  33. Многострочные строки в Python
  34. Создание OrderedDict
  35. Переопределение метода xor в Python
  36. %pinfo: получение информации об объекте
  37. Дефолтные параметры в Python
  38. Функции высшего порядка в Python
  39. Python: динамическая типизация и проверка типов
  40. Избегайте пустого списка
  41. Enum в Python
  42. Хранение данных с помощью dataclasses
  43. Создание списка через итерацию
  44. Установка и использование библиотеки google
  45. Подписка на SelectelNews в Twitter
  46. Работа с срезами в Numpy
  47. Вызов функций по строке в Python.
  48. Оператор break в Python

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