Курс 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. Сравнение def и lambda функций в Python
  3. Сравнение def и lambda-функций
  4. Вычисление логарифмов в Python
  5. Использование defaultdict в Python
  6. Работа со списками
  7. Оператор in для Python
  8. 9 уловок для чистого кода
  9. Блок else в обработке исключений
  10. Передача аргументов в Python
  11. Инвертирование словаря
  12. Вакансии в Nebius
  13. Эффективная конкатенация строк с использованием join()
  14. Фильтрация списков с itertools
  15. Работа с комплексными числами
  16. Экспорт функций в Python
  17. Атрибуты класса и экземпляра
  18. Модуль array: создание и использование массивов
  19. Объединение списков в Python.
  20. Поиск шаблона в строке
  21. Работа с JSON в Python
  22. Преобразование данных в Python
  23. Проблема с изменяемыми аргументами
  24. Импорт в Python: список all
  25. Оператор объединения словарей
  26. Асинхронный код в Python
  27. Генераторы списков
  28. Генераторы в Python
  29. Итераторы с потерямиZIP
  30. Выход из профиля в Django
  31. Установка и использование emoji
  32. Создание и обучение модели с Keras
  33. Обработка исключений в Python
  34. Обработка StopIteration в Python
  35. Взаимодействие с внешними процессами в Python
  36. Бесконечная проверка в Python
  37. Оформление кода на Python
  38. Функции в Python
  39. Логирование в Python
  40. Проверка на палиндром
  41. Модуль itertools: комбинации и перестановки
  42. Управление памятью в Python
  43. Переопределение метода __or__()
  44. Python Аргументы по умолчанию
  45. Метод enumerate() в Python
  46. Работа с атрибутом dict
  47. Применение команды break

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