Junior — Middle
104
Python-da __call__ metodunun istifadəsinin məqsədi nədir və onun üstünlükləri nələrdir?
Şirkətlər soruşuldu
АО К-Технологии
AI-dan cavab
sobes.tech Süni İntellekt
Метод __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.