Курс 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 3.7
  2. Итераторы в Python
  3. Подсчет вхождений элементов
  4. Получение текущего времени в Python
  5. Оператор is в Python
  6. Метод rrshift для пользовательских объектов
  7. Перевод эмодзи и эмотиконов.
  8. Сравнение def и lambda в Python
  9. Добавление элементов в список: append() vs extend()
  10. Итераторы в Python
  11. Поиск анаграмм с Counter
  12. Метод rmatmul для обратного матричного умножения
  13. Списки: объединение, изменение
  14. Метод join() для объединения элементов строки
  15. Декораторы в Python
  16. Оператор «not» в Python
  17. Метод __float__ в Python
  18. Измерение времени выполнения кода
  19. Создание новых списков
  20. Запрос DELETE с библиотекой requests
  21. Замена текста с re.sub()
  22. Правила именования переменных
  23. Работа с очередями в Python
  24. Логические значения в Python
  25. Объединение, распаковка и деструктуризация
  26. Группировка элементов Python
  27. Удаление falsy-значений из списка с помощью filter
  28. Создание .exe файла с pyinstaller
  29. Проверка индексов коллекции
  30. Работа с CSV файлами
  31. Метод setitem в Python
  32. Справка по импортированным модулям
  33. Конкатенация строк с помощью join()
  34. Преобразование документов в PDF с помощью Spire.Office
  35. Отладка производительности Python
  36. Функции map, filter, reduce
  37. Оператор «is not» в Python
  38. Выход из профиля в Django
  39. Python union() функция — объединение множеств
  40. Сглаживание списка
  41. Функции-генераторы в Python
  42. Работа с collections в Python.
  43. Преобразование range в итератор
  44. Поиск шаблона в начале строки
  45. Ветвление выражения в Python

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