允许自定义python类在两个方向上添加

时间:2016-02-15 14:52:46

标签: python class override addition

我创建了一个自定义类,我希望能够以两种方式处理添加。到目前为止,只有当我在右侧有一个类和在左边添加的东西(即类+变量)时,它才有效。如何更改下面的代码以包含相反方向的加法(即另一个变量+类)。

def __add__(self,other):
 return self.offset+other

1 个答案:

答案 0 :(得分:3)

使用radd()特殊功能:

def __radd__(self,other):
    return self.offset + other

如果左操作数不支持加法运算且操作数类型不同,则将调用此函数。