龙空技术网

Python魔法函数(__add__和__mul__)

长颈鹿睡觉 446

前言:

今天姐妹们对“pythonadd用法”大体比较注意,你们都需要学习一些“pythonadd用法”的相关资讯。那么小编也在网上搜集了一些对于“pythonadd用法””的相关资讯,希望小伙伴们能喜欢,咱们一起来学习一下吧!

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 "Victor(%r,%r)" % (self.x, self.y)    def __str__(self):        return "Victor,x=%f,y=%f" % (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 "Victor(%r,%r)" % (self.x, self.y)    def __str__(self):        return "Victor,x=%f,y=%f" % (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)

标签: #pythonadd用法