我想知道是否有人可以给我一个如何在类中重载运算符的示例,在我的例子中是+运算符。我可以定义一个函数(不是类方法)吗?我是新手,所以我真的不知道怎么做。
由于
答案 0 :(得分:3)
定义其__add__()
方法。
请参阅here。
答案 1 :(得分:2)
class MyNum(object):
def __init__(self, val):
super(MyNum,self).__init__()
self.val = val
def __add__(self, num):
return self.__class__.(self.val + num)
def __str__(self):
return self.__class__.__name__ + '(' + str(self.val) + ')'
print(MyNum(3) + 2) # -> MyNum(5)
答案 2 :(得分:2)
如果对基础知识有疑问:手动。 http://docs.python.org/reference/datamodel.html