Курс 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. Создание словаря и множества
  2. Ограничение ресурсов в Python
  3. Функция enumerate() в Python
  4. Метод join() для объединения элементов строки
  5. Копирование словарей и списков в Python
  6. Работа с датой и временем в Python
  7. Функция с **kwargs в Python
  8. Глобальные переменные в Python
  9. Работа с областями видимости переменных
  10. Удаление ссылок в Python
  11. Бесконечная проверка в Python
  12. Декораторы в Python
  13. Разделение строки на пары ключ-значение.
  14. discard() — удаление элемента из множества
  15. Измерение времени выполнения кода
  16. Управление асинхронными задачами с помощью Semaphore
  17. Управление IP-адресами через прокси
  18. Лимиты на ресурсы Python
  19. Форматирование строк в Python
  20. Импорт модуля из другого каталога
  21. Создание вложенного генератора
  22. Управление User-Agent в Python
  23. Добавление цвета в консоли
  24. Списки в Python: основы
  25. Расчет времени выполнения программы
  26. Отделение звука от видео
  27. Переменные в Python
  28. Объединение строк с помощью метода join
  29. Логирование с Loguru
  30. Модуль pprint: улучшение вывода данных
  31. Работа с переменными в Python
  32. Объединение словарей в Python
  33. Python Метод sleep() из time
  34. Модуль future Python
  35. Многопоточность в Python
  36. Измерение времени выполнения кода в Python
  37. Частичное совпадение ввода
  38. Работа с модулем random
  39. Метод repr() в Python
  40. Операторы увеличения и уменьшения переменной
  41. Поток данных в Python
  42. Открытие, чтение и закрытие файла
  43. Метод bool() в Python
  44. Основы слова

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