Курс 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"
- Принцип одной функции
- Генераторы списков в Python
- IPython и Jupyter Notebook: руководство
- Генерация чисел с range()
- Обмен данными с asyncio.Queue
- Поиск частых элементов в списке
- Объединение Python и Shell
- Python itertools combinations() — группировка элементов
- Работа с файлами в Python
- Разделение строки с помощью re.split()
- Контекстный менеджер в Python
- Управление доступом к модулю
- Удаление элемента из списка в Python
- Декораторы в Python
- Сортировка HTML-элементов
- Модуль antigravity: генерация координат
- Функции высшего порядка в Python
- Тестирование с responses
- Функция reduce() в Python
- Методы и функции в Python
- Множественное назначение в Python
- Работа с NumPy.linalg
- Python и Юникод: работа с цифрами
- Отладчик pdb: начало работы
- Частичное совпадение пользовательского ввода в Python 3.10
- Безопасный доступ к значениям словаря
- Преобразование range в итератор
- Обработка исключений с блоком else
- Переопределение метода __eq__
- Отладка производительности Python
- Сериализация и десериализация объектов
- Реализация операции -= для пользовательского класса
- Создание и удаление объектов
- Избегайте использования goto
- Декораторы в Python
- Работа с файлами в Python
- Генераторы словарей и множеств
- Дизассемблирование Python кода
- Переменная Шредингера
- Особенности запятых в Python
- Работа с очередями в Python
- Метод join для объединения строк
- Склеивание строк без циклов
- Перегрузка операторов в Python
- Beautiful Soup — извлечение данных из HTML















