__call__?Магический метод __call__ позволяет экземпляру класса быть вызванным как обычная функция. Когда ты используешь синтаксис object() на экземпляре, Python автоматически вызывает его метод __call__.
Определение __call__ на классе означает, что любой экземпляр становится вызываемым — он реагирует на оператор () точно так же, как функция.
class Multiplier:
def __init__(self, factor):
self.factor = factor # Состояние сохраняется между вызовами
def __call__(self, x):
return x * self.factor
double = Multiplier(2)
result = double(5) # Вызван как функция → возвращает 10
double(5) эквивалентен внутреннему вызову double.__call__(5)__init__, в отличие от обычной функции — это делает его более мощнымcallable(double) → True__call__Магический метод __call__ позволяет экземплярам класса быть вызванными с помощью оператора (), заставляя их вести себя как функции.
Новый — ещё не проверен сообществом
Вы