Курс 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. SciPy: широкий функционал для математических операций
  3. Сложение матриц в NumPy
  4. Объединение словарей в Python
  5. Получение локальных переменных в Python
  6. Преобразование чисел в Python
  7. Выбор редактора кода.
  8. Сравнение def и lambda функций в Python
  9. Логические значения в Python
  10. Модуль os в Python: работа с файлами
  11. Условные выражения в Python
  12. Обработка StopIteration в Python
  13. Работа с путями в Python
  14. JSON в Python: модуль, dump, dumps, load
  15. Метод rpow в Python
  16. Работа с файлами в Python
  17. Отрицательные индексы списков в Python
  18. Работа с байтовыми строками в Python
  19. Анонимные функции в Python
  20. Проектирование Singleton с метаклассом
  21. Распаковка значений в Python
  22. Атрибуты объекта в Python
  23. Генерация строк с .join()
  24. Генерация резюме в Gensim
  25. Генераторы в Python
  26. Основы работы с os
  27. Создание функций высшего порядка
  28. Метод is_absolute() для PurePath
  29. Работа с датами в Python
  30. HTTP-запросы с библиотекой Requests
  31. Модуль xkcd: загрузка комиксов
  32. Измерение времени выполнения кода
  33. Разделение строки на подстроки в Python
  34. Перезагрузка оператора в Python
  35. Основы Python
  36. Расширение информации об ошибке в Python
  37. Официальный канал Python в Telegram
  38. Работа с f-строками 2.0
  39. Обработка исключений в Python
  40. Генерация ключей RSA
  41. Обучение модели с указанием эпох
  42. Чтение и запись TOML-конфигов
  43. Создание Radio кнопок в tkinter
  44. Преобразование числа в список цифр
  45. Big O оптимизация
  46. Работа со словарями с defaultdict из collections
  47. Округление в Python
  48. Расчет времени выполнения программы
  49. Оптимизация памяти в Python

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