> 动物
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)
__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)