Как сложить два объекта используя __add__
Есть класс square и метод который возвращает сумму. Как с помощью метода add получить f + s
class A:
def __init__(self, a, b):
self.a = a
self.b = b
def result(self):
return self.a + self.b
f = A(2,5)
s = A(5,13)
print(f.result())
print(s.result())
print(f + s)
Ответы (2 шт):
Автор решения: gil9red
→ Ссылка
Добавить магический метод __add__ и в нем сложить результаты текущего объекта и того, что будет справа
Например так:
class A:
def __init__(self, a, b):
self.a = a
self.b = b
def result(self):
return self.a + self.b
def __add__(self, other: 'A'):
return self.result() + other.result()
f = A(2, 5)
s = A(5, 13)
print(f.result()) # 7
print(s.result()) # 18
print(f + s) # 25
Автор решения: Andrey
→ Ссылка
f и s - это объекты. А Вам нужно сложить выводы result, так?
f.result() + s.result()
Либо добавить в сам класс обработку оператора сложения, как уже ответил @gil9red.