python __add__和__radd__ 和 __iadd__

__radd__是自定义的类操作符,执行“右加”。

当python解释器执行到a+b这样的语句时,首先在查找a中有没有__add__操作符,如果a中没有定义,那么就在b中查找并执行__radd__。

至于__iadd__(),是运算符类operator的成员函数,就是累加操作符的另一种调用形式。a = operator.__iadd__(a, b)就等价于a += b

 

def __add__(self, other)#该类对象+别的对象时调用
    return #加的结果

def __radd__(self, other)#别的对象+该类对象时调用
    return #加的结果

 

posted @ 2015-08-31 11:26  shinymood  阅读(4385)  评论(0编辑  收藏  举报