クラスのメソッドを作成するだけなので 簡単にできますね。
class OverLoadTest(object):
def __init__(self, a):
self.a = a
# +
def __add__(self, b):
self.a = self.a + b
# -
def __sub__(self, b):
self.a = self.a - b
# /
def __div__(self, b):
self.a = self.a / b
# *
def __mul__(self, b):
self.a = self.a * b
def __repr__(self):
return str(self.a)
if __name__ == "__main__":
o = OverLoadTest(5)
print o
o + 5
print o
o - 5
print o
o / 5
print o
普段はJavaで書いているから演算子オーバーロードが頭にないなー。
使ってるライブラリでも演算子オーバーロード見たことない気がする。
(知らないだけか?)
効果的に使えるようになりたいですね。