Курс 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. Метод join() для объединения элементов строки
  2. Передача неизвестных аргументов в Python.
  3. Подсчет частотности элементов в Python
  4. Получение локальных переменных в Python
  5. Метод ne для сравнения объектов
  6. Установка и использование howdoi
  7. Работа с необработанными строками
  8. Вывод сложных структур данных с помощью pprint
  9. Многострочные комментарии в Python
  10. Изменение IP-адреса в Python
  11. Поиск с помощью регулярных выражений
  12. Создание новых списков в Python
  13. Создание вложенных циклов for
  14. Аннотации типов в Python
  15. Обрезка изображения с Pillow
  16. Генератор данных в Keras
  17. Изменяемые и неизменяемые объекты
  18. Работа с файлами в Python
  19. Работа с CSV файлами в Python
  20. Работа с географическими данными.
  21. Поиск анаграмм с Counter
  22. Игра Виселица на Python
  23. Создание пустых функций и классов в Python
  24. Создание генераторов
  25. Оптимизация памяти с __slots__
  26. Использование type hints
  27. Подсчет часто встречающихся элементов
  28. Хранение данных с помощью dataclasses
  29. Многоточие в Python
  30. Работа с множествами в Python
  31. Работа с путями в Python
  32. Подсчет элементов в Python
  33. Группы исключений в Python
  34. Функция findall() для поиска вхождений строки
  35. Генератор чисел Фибоначчи
  36. Переименование файлов в Python
  37. Настройка шрифта и цвета в Tkinter
  38. Итераторы с потерямиZIP
  39. Объединение словарей в Python 3.5+
  40. Работа с очередями в Python
  41. Применение функции к каждому элементу списка
  42. Установка виртуального окружения Python
  43. Управление экспортом элементов
  44. Получение значений из словарей

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