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)    

在这里插入图片描述

你可能感兴趣的:(Python基础,python)