Курс 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. Поиск HTML-элементов с BeautifulSoup
  3. Обратное распространение ошибки
  4. Сравнение def и lambda функций в Python
  5. Библиотека funcy: удобные утилиты
  6. Оператор zip в Python
  7. GitHub в Telegram: подписка на уведомления
  8. Создание генераторов в Python
  9. Применение функций в Python
  10. Измерение времени выполнения кода в Python
  11. Объединение строк с помощью метода join
  12. Работа со строками в Python.
  13. Заказ карты Тинькофф Black
  14. Обработка ошибок ввода данных
  15. Создание и удаление объектов
  16. Преобразование строк в числа в Python
  17. Оператор Walrus: правильное использование
  18. Измерение времени выполнения кода
  19. Создание и использование ChainMap
  20. Декораторы классов
  21. Транспонирование 2D-массива с помощью zip
  22. Работа с базами данных SQLite
  23. Объединение кортежей в Python
  24. Использование super() в Python
  25. Проверка строки на палиндром
  26. Операторы += в Python
  27. Поиск кода
  28. Итерация по коллекции в Python
  29. Работа с CSV в Python
  30. Работа с NumPy
  31. Генераторы в Python
  32. Сравнение def и lambda-функций
  33. Оператор continue в Python
  34. Функция zip() в Python
  35. Работа с изображениями Pillow
  36. f-строки в формате строк
  37. Оператор обр. импликации
  38. Реверс строки в Python
  39. Декодирование байтов в строку
  40. Возврат нескольких значений из функции
  41. Оптимизация параметров в Python
  42. Роль запятой в Python
  43. Работа с NumPy массивами
  44. Измерение времени выполнения кода
  45. Преобразование документов в PDF с помощью Spire.Office
  46. Капитализация строк

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