演算子に対応した関数を実装する。
operator.__add__ (a, b) 数値 a および b について a + b を返します。
operator — 関数形式の標準演算子 — Python 3.10.0b2 ドキュメント
operator.__sub__(a, b) 数値 a および b について a – b を返します。
operator.__mul__(a, b) 数値 a および b について a * b を返します。
operator.__truediv__(a, b) 2/3 が 0 ではなく 0.66 となるような a / b を返します。 “真の” 除算としても知られています。
class Result:
def __init__(self, score1, score2):
self.score1 = score1
self.score2 = score2
def __add__(self, other):
return Result(self.score1 + other.score1,
self.score2 + other.score2)
result1 = Result(500, 200)
result2 = Result(300, 400)
total_results = result1 + result2
print(total_results.score1) # 800
print(total_results.score2) # 600