Курс 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. Избегание циклических зависимостей классов в Python
  3. Импорт с альтернативным именем
  4. Разница между датами
  5. JSON в Python: модуль, dump, dumps, load
  6. Сортировка данных с лямбда-функциями
  7. Выражения-генераторы в Python
  8. Выбор редактора кода.
  9. Оператор «моржа» (Walrus Operator)
  10. Работа со строками в Python
  11. Работа с областями видимости переменных
  12. Разбиение текста в Python
  13. Операции с массивами в NumPy
  14. Создание и использование ChainMap
  15. Атрибуты объекта в Python
  16. Magic Commands — улучшение работы с Python
  17. Модуль os: работа с файлами и папками
  18. UserList в Python: Описание и примеры использования
  19. Применение функции map() с лямбда-функциями
  20. Удаление элементов из списка в Python.
  21. Поиск наиболее частого элемента списке
  22. Структуры данных в Python
  23. None в Python: использование и особенности
  24. Создание таблиц в Python с PrettyTable
  25. Хэш-функции в Python
  26. Переворот строки с использованием цикла
  27. Поиск индекса элемента
  28. Нахождение самого длинного слова в списке с помощью max
  29. Подробная информация о %pinfo
  30. Установка Home Assistant
  31. Именованные срезы в Python
  32. Навыки Python: строки, типы данных
  33. Генераторы в Python
  34. Объединение списков в Python.
  35. Конкатенация строковых литералов
  36. Разделение строки на подстроки в Python
  37. Python UserString — создание подклассов строк
  38. Отображение графиков в Jupyter с Matplotlib
  39. Разделение строки с помощью split()
  40. Метод radd для пользовательских чисел
  41. Поиск простых чисел
  42. Извлечение статей с newspaper3k
  43. Роль запятой в Python
  44. Использование html-скриптов в Jupyter Notebook
  45. Создание списков в Python
  46. Импортирование в Python

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