Назад к вопросам
Middle
98
questionbank

Что такое методы __call__ в Python и как они работают?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Метод __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)