__add__関数
__add__はオブジェクトの加算演算子「+」使用時に呼び出される特殊メソッドである。
code:python
class Hoge:
def __init__(self, arg):
self.value = arg
def __add__(self, other):
return self.value + other.value
h1 = Hoge(1)
h2 = Hoge(2)
print(h1 + h2)
類似のものに以下がある。
__sub__関数 : 減算演算子「-」使用時に呼び出されるメソッド
__mul__関数 : 乗算演算子「*」使用時に呼び出されるメソッド
__truediv__関数 : 除算演算子「/」使用時に呼び出されるメソッド
__floordiv__関数 : 整数除算演算子「//」使用時に呼び出されるメソッド
型の異なるオブジェクト同士でも、それぞれの__add__関数で定義された処理が適用可能であれば動作する。
code:python
class Hoge:
def __init__(self, arg):
self.value = arg
def __add__(self, other):
return self.value + other.value
class Foo:
def __init__(self, arg):
self.value = arg
def __add__(self, other):
return self.value + other.value
h1 = Hoge(1)
h2 = Foo(2)
h3 = h1 + h2
print(h3)