Курс 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. Создание словаря в Python
  3. Потоковый ввод в Python
  4. Операторы увеличения и уменьшения в Python
  5. Умножение строк и списков
  6. Функция __init__ в Python
  7. Комментарии в Python
  8. Обработка ошибок в Python
  9. Оператор «or» в Python
  10. Удаление дубликатов в pandas
  11. Проблемы с dict в Python
  12. Работа с defaultdictами в Python
  13. Переменные класса и экземпляра
  14. Функции any() и all() в Python
  15. Вычисление натуральных логарифмов в NumPy
  16. Склеивание строк через метод join()
  17. Генераторы в Python
  18. Создание функций с произвольным количеством аргументов
  19. Виртуальные среды в Python
  20. Удаление дубликатов из списка
  21. Обработка данных в Python
  22. Работа с итераторами через срезы
  23. Создание детектора плагиата
  24. Сравнение строк в Python
  25. Работа с кортежами в Python
  26. Обучение модели с указанием эпох
  27. Оператор (*) в Python
  28. Дизассемблирование Python кода
  29. Таймер обратного отсчета
  30. Работа с изменяемыми списками
  31. Извлечение аудио из видео
  32. Функциональное программирование в Python
  33. Работа с байтовыми строками в Python
  34. Получение списка кортежей из словаря
  35. Создание новой даты в Python
  36. Приближение чисел в Python
  37. Проверка типов с использованием isinstance
  38. Методы shutil для работы с файлами
  39. Перезапуск ячейки в Jupyter Notebook с dostoevsky
  40. Перезагрузка оператора в Python
  41. Сортировка и обратный порядок
  42. Правила именования переменных
  43. Преобразование строки в число
  44. Итерации в Python
  45. Установка библиотек в Python

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