2016-02-15 34 views
3

我已经创建了一个自定义类,我希望能够以两种方式处理添加。到目前为止,只有当我在右侧有类,而在左侧添加的东西(即类+变量)时才起作用。如何更改下面的代码以包含相反方向的加法(即其他变量+类)。允许自定义python类在两个方向添加

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

回答

3

使用radd()特殊功能:

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

如果左操作数不支持添加操作,此功能将被调用,操作数是不同的类型。