Курс 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. Работа с Enum в Python3.
  2. Частичное применение функций в Python
  3. Генераторы в Python
  4. Функция zip() в Python
  5. Проверка типа данных
  6. Определение локальных переменных в Python
  7. Поиск HTML-элементов с BeautifulSoup
  8. Генераторы в Python
  9. Деление в Python
  10. Определение объема памяти объекта
  11. Оператор «not» в Python
  12. Метод index() в Python
  13. Метод title() в Python
  14. Наиболее частотные элементы с помощью Counter
  15. Обратный список чисел
  16. Управление IP-адресами через прокси
  17. Методы работы со списками
  18. Форматирование данных с помощью pprint
  19. Создание и удаление объектов
  20. Создание панели меню Tkinter
  21. Распаковка элементов последовательности
  22. Работа со слайсами
  23. Цикл for в Python
  24. Работа с файлами и директориями в Python.
  25. Создание списка через цикл
  26. Генератор чисел Фибоначчи
  27. Работа с Event() в threading
  28. Инверсия списка и строки в Python
  29. Инвертирование словаря
  30. Философия Python
  31. Метод Self в Python
  32. Создание .exe файла с pyinstaller
  33. Хранение переменных в словаре.
  34. Итерация по копии коллекции
  35. Любовь к Python
  36. Flask: создание веб-приложений
  37. Определение объема памяти объекта
  38. Применение промокода в Много лосося
  39. Проверка кортежей.
  40. Карта бомбоубежищ в Москве и Питере
  41. Enum в Python
  42. Сортировка HTML-элементов
  43. Переворот строки
  44. Codecademy в Telegram
  45. Работа со строками в Python
  46. Проверка условий: all и any

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