Курс 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. Хранение данных с помощью dataclasses
  2. Преобразование текста в нижний регистр
  3. Создание пользовательской коллекции в Python
  4. Обработка ошибок в JSON данных
  5. Функция product() из itertools
  6. Оптимизация гиперпараметров с Scikit Optimize
  7. Аргумент по умолчанию
  8. Работа с утверждениями в Python
  9. Контроль точности вывода чисел
  10. Работа с CSV в Python
  11. Проверка версии Python
  12. Отображение HTML кода в Python
  13. Сравнение def и lambda функций в Python
  14. Именование столбцов в Python с pandas
  15. Отображение графиков в Jupyter с Matplotlib
  16. Декораторы с аргументами в Python
  17. Функции высшего порядка в Python
  18. Генераторы в Python
  19. Работа с каталогами в Python
  20. Метод enumerate() в Python
  21. Преобразование строк в числа в Python
  22. Удаление специальных символов с помощью re.sub
  23. Просмотр атрибутов и методов класса
  24. Метод title() в Python
  25. Получение атрибутов и методов класса
  26. Работа с срезами в Python
  27. Метод bool() в Python
  28. Генераторы в Python
  29. Создание матрицы в Python
  30. Получение комбинаций в Python
  31. Именованные срезы в Python
  32. Создание новых списков в Python
  33. Преобразование Excel в PDF с Spire.XLS
  34. Многопоточность в Python
  35. Работа с комбинациями в Python.
  36. Основные методы NumPy
  37. Вывод символов строки в Python
  38. Модуль array: создание и использование массивов
  39. Создание инструмента обнаружения плагиата
  40. Метод matmul для умножения матриц
  41. Обработка исключений в Python
  42. Создание циклической ссылки
  43. globals и locals
  44. Хеширование паролей с солью
  45. Ускорение обработки данных с %autoawait

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