Курс Python → Экспорт функций в Python

Для экспорта функций и переменных из модуля в Python используется атрибут `__all__`. Этот атрибут представляет собой список имен, которые будут доступны для импорта из модуля. Если атрибут `__all__` не определен, то при импорте будут доступны все имена, не начинающиеся с символа подчеркивания.

Например, если у вас есть модуль `module.py` с функциями `foo` и `bar`, и вы хотите экспортировать только функцию `bar`, то в модуле нужно определить `__all__ = [‘bar’]`. Теперь при импорте из этого модуля будет доступна только функция `bar`.

Если атрибут `__all__` оставить пустым, то ни одно имя из модуля не будет экспортировано. При попытке импорта любого имени из такого модуля будет возбуждено исключение `AttributeError`, так как нет определенных имен для экспорта.


# Пример модуля module.py
def foo():
    pass

def bar():
    pass

__all__ = ['bar']

В данном примере только функция `bar` будет доступна при импорте из модуля `module`. Если попытаться импортировать функцию `foo`, то возникнет ошибка `AttributeError`, так как она не была экспортирована.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Цикл while в Python
  2. Модуль inspect
  3. Работа с очередями в Python
  4. Lambda Functions in Python
  5. Поиск шаблона в строке
  6. Комментарии в Python
  7. Метод lt для сортировки объектов
  8. Определение объема памяти объекта
  9. Модуль inspect: получение информации о объектах
  10. Работа с процессами в Python
  11. Изучение объектов с помощью dir()
  12. Работа с комплексными числами
  13. Работа с базами данных SQLite
  14. Избегание циклических зависимостей классов в Python
  15. Обработка элементов в Python
  16. Срезы в Numpy
  17. Операции с комплексными числами
  18. Оператор walrus в Python
  19. Работа с JSON в Python
  20. Работа с Enum в Python3.
  21. Модуль sys: основы
  22. Печать комбинаций в Python с Itertools
  23. Работа с файлами в Python
  24. Удаление элемента по индексу
  25. Названия переменных
  26. Подсчет частоты элементов с Counter
  27. Объединение кортежей в Python
  28. Установка Home Assistant
  29. Переворот последовательности
  30. Создание панели меню Tkinter
  31. Управление ресурсами с контекстными менеджерами
  32. Участие в сообществе @selectel
  33. Карта бомбоубежищ в Москве и Питере
  34. Цикл for в Python
  35. Работа с контекст-менеджером «with»
  36. Работа с кортежами в Python
  37. Форматирование строк в Python
  38. Безопасный доступ к значениям словаря
  39. Проектирование Singleton с метаклассом
  40. Лямбда-функции в Python
  41. Метод join() для объединения элементов в строку.
  42. Взаимодействие с внешними процессами в Python
  43. Документирование функций в Python
  44. Импорт в Python: список all
  45. Удаление URL-адресов в Python

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