在python中比较类内的变量

在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):

我正在尝试编写一个方法(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):
       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) 假的