Bootstrap

python之运算符重载

python中的运算符使用时是调用了对象的方法

方法运算符说明
__add __加法+ +=
__sub __减法- -+
__mul __乘法* *=
__div __除法/ /=
__mod __求余% %=
__bool __布尔bool()
__eq __等于==
__ne __不等于!=
__ge __大于等于>=
__le __小于等于<=
__gt __大于>
__lt __小于<
__contains __成员运算in
__getitem __切片x[:]
__setitem __切片赋值x[:]=
__delitem __切片删除del x[:]
__len __长度len()
__iter __, __next __迭代iter() next() for while
__repr __, __str __打印、转换print() pepr() str()

加法运算重构(类外的+),将一一对应的列表元素相加

class Demo:
    def __init__(self,obj): # 参数self是类自身,参数obj对象传递的参数
        self.data=obj       # 添加对象属性
    def __add__(a,b):       # 参数a是对象a ,参数b是对象b
        n=len(a.data)
        num=[a.data[i]+b.data[i] for i in range(n)]
        return Demo(num)    # 返回新的对象
a=Demo([1,2,3])      # a 对象
b=Demo([3,2,1])      # b 对象
c=a+b                # c 对象
print(c.data)    

在这里插入图片描述

;