Junior — Middle
116
Koja je svrha korišćenja metode __call__ u Python-u i koje su njegove prednosti?
Компаније где су питане
АО К-Технологии
Одговор од АИ
sobes.tech АИ
Метод __call__ в Python позволяет сделать экземпляр класса вызываемым как функцию. Это значит, что после определения этого метода можно использовать объект класса с синтаксисом вызова, например obj(), и при этом будет выполнен код внутри __call__.
Преимущества использования __call__:
- Позволяет создавать объекты-функции с внутренним состоянием.
- Удобно для реализации паттернов, например, фабрик или декораторов.
- Улучшает читаемость и гибкость кода, объединяя данные и поведение.
Пример:
class Multiplier:
def __init__(self, factor):
self.factor = factor
def __call__(self, x):
return x * self.factor
double = Multiplier(2)
print(double(5)) # Выведет 10
Здесь объект double ведет себя как функция, умножающая число на 2.