Для чего нужен магический метод __call__?

__call__ делает экземпляр класса вызываемым как функцию: obj(...). Это удобно, когда операция должна хранить состояние или иметь настраиваемое поведение между вызовами.

Короткий ответ

Что ответить на собеседовании

call делает экземпляр класса вызываемым как функцию: obj(...). Это удобно, когда операция должна хранить состояние или иметь настраиваемое поведение между вызовами.

Подробный разбор

Ответ с пояснениями

call делает экземпляр класса вызываемым как функцию: obj(...). Это удобно, когда операция должна хранить состояние или иметь настраиваемое поведение между вызовами.

Например, объект валидатора может хранить правила в init, а проверять значение в call. Такой объект можно передать как callback или использовать как декоратор. Вызов экземпляра не создаёт новый экземпляр этого же класса автоматически: он исполняет метод существующего объекта. Не следует путать call экземпляра с механизмом вызова самого класса через его метакласс.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее