Курс 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. Принцип одной функции
  2. Генераторы списков в Python
  3. IPython и Jupyter Notebook: руководство
  4. Генерация чисел с range()
  5. Обмен данными с asyncio.Queue
  6. Поиск частых элементов в списке
  7. Объединение Python и Shell
  8. Python itertools combinations() — группировка элементов
  9. Работа с файлами в Python
  10. Разделение строки с помощью re.split()
  11. Контекстный менеджер в Python
  12. Управление доступом к модулю
  13. Удаление элемента из списка в Python
  14. Декораторы в Python
  15. Сортировка HTML-элементов
  16. Модуль antigravity: генерация координат
  17. Функции высшего порядка в Python
  18. Тестирование с responses
  19. Функция reduce() в Python
  20. Методы и функции в Python
  21. Множественное назначение в Python
  22. Работа с NumPy.linalg
  23. Python и Юникод: работа с цифрами
  24. Отладчик pdb: начало работы
  25. Частичное совпадение пользовательского ввода в Python 3.10
  26. Безопасный доступ к значениям словаря
  27. Преобразование range в итератор
  28. Обработка исключений с блоком else
  29. Переопределение метода __eq__
  30. Отладка производительности Python
  31. Сериализация и десериализация объектов
  32. Реализация операции -= для пользовательского класса
  33. Создание и удаление объектов
  34. Избегайте использования goto
  35. Декораторы в Python
  36. Работа с файлами в Python
  37. Генераторы словарей и множеств
  38. Дизассемблирование Python кода
  39. Переменная Шредингера
  40. Особенности запятых в Python
  41. Работа с очередями в Python
  42. Метод join для объединения строк
  43. Склеивание строк без циклов
  44. Перегрузка операторов в Python
  45. Beautiful Soup — извлечение данных из HTML

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