搜索
写经验 领红包
 > 动物

Python魔法函数(__add__和__mul__)

导语:Python魔法函数(__add__和__mul__)

Python魔法函数__add__和__mul__能实现对象的加法和乘法运算。

__add__

定义类Victor,包含x和y两个属性,实现__add__方法,对两个Victor对象的x和y分别相加组成一个新的Victor对象。

class Victor:    def __init__(self, x, y):        self.x = x        self.y = y    def __repr__(self):        return &34; % (self.x, self.y)    def __str__(self):        return &34; % (self.x, self.y)    def __add__(self, other):        x = self.x + other.x        y = self.y + other.y        return Victor(x,y)

创建两个Victor对象,执行加法运算。

v1 = Victor(1,2)v2 = Victor(3,4)v3 = v1 + v2print(v3)
Python魔法函数(__add__和__mul__)

__mul__

实现__mul__方法,将对象的x和y分别乘以一个常数。

class Victor:    def __init__(self, x, y):        self.x = x        self.y = y    def __repr__(self):        return &34; % (self.x, self.y)    def __str__(self):        return &34; % (self.x, self.y)    def __add__(self, other):        x = self.x + other.x        y = self.y + other.y        return Victor(x,y)    def __mul__(self, other):        return Victor(self.x*other, self.y*other)

定义Victor对象,执行乘法运算。

v1 = Victor(1,2)v2 = v1 * 10print(v2)
Python魔法函数(__add__和__mul__)