Курс 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. Подсчет элементов с помощью Counter из collections
  3. Активация Matplotlib в Jupyter
  4. Модуль os в Python: работа с файлами
  5. Форматирование вывода списков
  6. Обновление ключей в Python
  7. Именование переменных в Python
  8. TON Smart Challenge #2: участие и подготовка
  9. Удаление элементов из списка
  10. Создание Telegram-бота на Python
  11. Перевод эмодзи и эмотиконов.
  12. Операторы Splat и splatty-splat
  13. Декораторы в Python
  14. Метод rename() для переименования файлов и каталогов
  15. Модуль inspect: получение информации о объектах
  16. Python Поверхностное Копирование
  17. Использование super() в Python
  18. Хеширование паролей с использованием salt
  19. Сортировка элементов с OrderedDict
  20. Разделение строки на подстроки в Python
  21. Разделение строк в Python
  22. Хеширование паролей с солью
  23. Наиболее частотные элементы с помощью Counter
  24. Цикл for с enumerate() в Python
  25. Создание словарей в Python
  26. Изменение списка срезом
  27. Python Метод sleep() времени
  28. Скрытие вывода данных
  29. Python: отсутствие точек с запятыми
  30. Управление виртуальными средами в Python
  31. Работа со строками в Python
  32. Docstring в Python
  33. Переворот последовательности
  34. Приближение чисел в Python
  35. Обучение модели с указанием эпох
  36. Замена текста в Python
  37. Big O оптимизация
  38. Секреты Python
  39. Область видимости переменных
  40. Безопасный доступ к значениям словаря
  41. Извлечение новостей с newspaper3k
  42. Переворот списка в Python
  43. Python 3.12: переиспользование кавычек
  44. Создание новых функций с помощью functools.partial

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