print c1<=r1 为什么也可以正确执行
来源:7-5 如何让类支持比较操作

慕少0241385
2017-10-28
from functools import total_ordering @total_ordering class Rectangle(object): def __init__(self,w,h): self.w = w self.h = h def area(self): return self.w * self.h def __lt__(self, other): print('in lt') return self.area() < other.area() def __eq__(self, other): print('in eq') return self.area() == other.area() class Circle(object): def __init__(self,r): self.r = r def area(self): return self.r**2*3.14 r1 = Rectangle(3,4) r2 = Rectangle(5,5) c1 = Circle(3) print(c1<=r1)
c1<r1也可得出
in lt False
在python3中这有什么区别么?
写回答
1回答
-
程序员硕
2017-10-29
Rectangle定义了__lt__和__eq__, 自动推测出大于。 并且俩个类都有area接口。
00
相似问题