Python中的运算符重载问题
学过C++的都知道我们在类中可以对运算符进行重载,以使运算符实现自己所需要的功能
自然在python中也可以实现运算符的重载
class example(object):
def __init__(self,x=0.0,y=0.0):
self.x = x
self.y = y
def __str__(self):
return "(%s, %s)"%(self.x, self.y)
def __add__(self,rhs):
return example(self.x + rhs.x,self.y + rhs.y)
def __sub__(self,rhs):
return example(self.x - rhs.x,self.y - rhs.y)
@classmethod
def calculate(cls,a,b):
return cls(b[0] - a[0],b[1] - a[1])
point1 = (10.0,30.0)
point2 = (25.0,50.0)
point12 = example.calculate(point1,point2)
print "point12 + (4,6) is",point12 + example(4,6)
print "point12 - (4,6) is",point12 - example(4,6)
2248



被折叠的 条评论
为什么被折叠?



