Встречается на собеседованиях • сегодня

Зачем нужен метод __call__ в Python

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

Пример:

python
class Adder:
    def __init__(self, n):
        self.n = n
    
    def __call__(self, x):
        return self.n + x

add_five = Adder(5)
print(add_five(3))  # Выведет 8

Основные случаи использования:

  • Создание callable-объектов с сохранением состояния между вызовами
  • Реализация декораторов через классы
  • Эмуляция функций с дополнительной логикой

__call__ делает код более гибким, позволяя объектам сочетать преимущества классов и функций.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы