在python中比较类内的变量
我正在尝试编写一个方法(it),将矩形的大小(面积)与作为参数传递的另一个矩形的面积进行比较:在python中比较类内的变量,python,class,python-3.x,Python,Class,Python 3.x,我正在尝试编写一个方法(it),将矩形的大小(面积)与作为参数传递的另一个矩形的面积进行比较: class Rectangle: def __init__(self, x, y): self.width = x self.height = y def area(self): a = self.width * self.height return a def __it__(self,second):
class Rectangle:
def __init__(self, x, y):
self.width = x
self.height = y
def area(self):
a = self.width * self.height
return a
def __it__(self,second):
return self.area < second.area
类矩形:
定义初始化(self,x,y):
self.width=x
自我高度=y
def区域(自身):
a=自宽*自高
归还
定义它(自我,第二):
返回自面积<第二面积
但我不断地犯错误:
TypeError: unorderable types: Rectangle() < Rectangle()
TypeError:无序类型:Rectangle()
我不确定如何解决这个问题,因为Area是一个方法,您使用它就像它是一个变量一样。添加参数应该可以解决这个问题(如果您试图做的事情少于,那么应该是
\uu lt\uu
):
def\uuu lt\uuu(自我,秒):
返回self.area()
区域是一个方法,您使用它就像它是一个变量一样。添加参数应该可以解决这个问题(如果您试图做的事情少于,那么应该是\uu lt\uu
):
def\uuu lt\uuu(自我,秒):
返回self.area()
您输入了一个错误。它是\uu lt\uuuuuuuuuuu
,而不是\uuuuuu It\uuuuuuuuuu
,您需要将区域()作为函数调用,除非将其设置为函数
修复所有这些
>>> class Rectangle:
... def __init__(self, x, y):
... self.width = x
... self.height = y
... def area(self):
... a = self.width * self.height
... return a
... def __lt__(self,second):
... return self.area() < second.area()
...
>>> Rectangle(1,3) > Rectangle(4,5)
False
类矩形:
... 定义初始化(self,x,y):
... self.width=x
... 自我高度=y
... def区域(自身):
... a=自宽*自高
... 归还
... 定义(自我,第二):
... 返回self.area()>>矩形(1,3)>矩形(4,5)
假的
您输入了一个错误。它是\uu lt\uuuuuuuuuuu
,而不是\uuuuuu It\uuuuuuuuuu
,您需要将区域()作为函数调用,除非将其设置为函数
修复所有这些
>>> class Rectangle:
... def __init__(self, x, y):
... self.width = x
... self.height = y
... def area(self):
... a = self.width * self.height
... return a
... def __lt__(self,second):
... return self.area() < second.area()
...
>>> Rectangle(1,3) > Rectangle(4,5)
False
类矩形:
... 定义初始化(self,x,y):
... self.width=x
... 自我高度=y
... def区域(自身):
... a=自宽*自高
... 归还
... 定义(自我,第二):
... 返回self.area()>>矩形(1,3)>矩形(4,5)
假的