Курс Python → Метод __call__ в Python
Метод __call__ в Python позволяет создавать объекты, которые можно вызывать как функции. Это значит, что при вызове объекта с использованием скобок, будет вызываться метод __call__ этого объекта. Такие объекты называются «вызываемыми» и могут содержать любую логику внутри метода __call__.
Для создания вызываемого объекта необходимо определить метод __call__ внутри класса. Этот метод должен принимать параметры, которые будут передаваться при вызове объекта. Внутри метода __call__ можно определить любую логику, которая будет выполняться при вызове объекта.
class CallableObject:
def __call__(self, *args, **kwargs):
# Логика, которая будет выполняться при вызове объекта
pass
# Создание объекта, который можно вызывать
obj = CallableObject()
obj() # Вызов объекта как функции
Пример кода выше показывает, как создать класс CallableObject с методом __call__, который можно вызывать как функцию. При вызове объекта obj как функции, будет выполняться логика, определенная в методе __call__.
Использование метода __call__ позволяет создавать объекты с более гибким поведением, чем простые функции. Это удобно, когда требуется создать объект, который может хранить состояние или выполнять какую-то сложную логику при вызове.
Другие уроки курса "Python"
- Сортировка в Python
- Сравнение строк в Python
- Форматирование строк с % в Python
- Безопасные SQL-запросы в Python 3.11
- Транспонирование матрицы в Python
- Работа с каталогами в Python
- Применение функции к списку
- Срез списка в Python
- inspect в Python: анализ кода
- Подписка на каналы разработчиков
- Метод index() в Python
- Операции с матрицами в Python
- Подписка на @SelectelNews
- Установка Git и AWS CLI
- Класс-оболочка для словарей
- Создание словарей и множеств в Python.
- discard() — удаление элемента из множества
- Управление асинхронными задачами на Python.
- Модуль xkcd: загрузка комиксов
- Поток данных в Python
- Метод enumerate() в Python
- Базовые объекты Python
- Импорт в Python: список all
- Замеры производительности в Python
- Работа с изменяемыми списками
- Работа со временем в Python
- Модуль pprint
- Применение функции к списку
- Работа с Path в Python
- Использование *args
- Создание генераторов
- Поиск индексов в списке
- Установка Home Assistant
- Форматирование строк в Python.
- Переопределение метода __or__()
- Поиск HTML-элементов с BeautifulSoup
- Получение текущей директории
- Метод rmatmul для обратного матричного умножения
- Мониторинг памяти с Pympler
- None в Python: использование и особенности
- Многострочные комментарии в Python
- Просмотр файла в Jupyter Noteboo
- TON Smart Challenge #2: участие и подготовка
- Анонимные функции Lambda
- Метод splitlines() для разделения строк
- Работа с аргументами командной строки
- Официальный канал Python в Telegram















