Курс 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. Модуль Operator в Python
  3. Проекты на Python
  4. Реализация метода __abs__ в Python
  5. Разность множеств
  6. Множественное присваивание в Python
  7. Декоратор total_ordering для класса Point
  8. Howdoi — получение ответов из терминала
  9. Работа с коллекциями Python
  10. Оператор zip в Python
  11. 9 уловок для чистого кода
  12. Генераторы в Python
  13. Печать комбинаций в Python с Itertools
  14. Принципы программирования
  15. Особенности ключей словаря в Python
  16. Разбиение строки в Python
  17. Распаковка элементов массива
  18. Закрытие файла в Python
  19. Область видимости переменных
  20. Объединение словарей в Python
  21. Хранение данных
  22. Тестирование с responses
  23. Команда %dhist — список посещенных каталогов
  24. Получение текущей даты и времени
  25. Многоточие в Python
  26. Работа с областями видимости переменных
  27. Объединение словарей в Python
  28. Flask — веб-фреймворк Python
  29. Получение идентификатора объекта в памяти
  30. Область видимости переменных
  31. Управление User-Agent в Python
  32. Разделение строки с регулярными выражениями
  33. Конкатенация строк в Python
  34. Вложенные функции в Python
  35. Управление памятью в numpy.
  36. Оптимизация интернирования строк
  37. Пустой оператор pass в Python
  38. Python и Монти Пайтон
  39. Проверка наличия элемента в списке
  40. Функции классификации комплексных чисел
  41. Различия символов в Python
  42. Методы shutil для работы с файлами
  43. Форматирование кода на Python
  44. Получение списка файлов в директории с использованием os

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