Middle
O que são os métodos __call__ em Python e como eles funcionam?
sobes.tech IA
Resposta da IA
Метод __call__ позволяет сделать экземпляры класса вызываемыми объектами, как функции. Когда экземпляр класса с определенным методом __call__ вызывается с использованием скобок (), выполняется код этого метода.
Пример:
# Класс с методом __call__
class CallableObject:
def __init__(self, name):
self.name = name
def __call__(self, greeting):
// Метод __call__ принимает аргументы
return f"{greeting}, {self.name}!"
// Создаем экземпляр класса
obj = CallableObject("Мир")
// Вызываем экземпляр как функцию
result = obj("Привет")
print(result)