Ответ
В Python для сложения объектов классов нужно реализовать специальный метод __add__. Этот метод определяет поведение оператора +. Пример:
class A:
def __init__(self, value):
self.value = value
def __add__(self, other):
if isinstance(other, B):
return self.value + other.value
return NotImplemented
class B:
def __init__(self, value):
self.value = value
a = A(10)
b = B(20)
result = a + b # 30
print(result)
Ключевые моменты:
__add__должен возвращать новый объект или примитивное значение.NotImplementedиспользуется, если операция не поддерживается для данного типа второго операнда.- Для обратной операции (B + A) нужно реализовать метод
__radd__в классе B. - Можно также реализовать
__iadd__для оператора+=.