有時候我們需要比較兩個對象。比如哪個對象大,哪個對象小。如果我們不告訴python如何比較,那么Python是不知道如何進行比較的。
下面提供實例
#__eq__(self,other):
#在使用==比較運算符比較兩個對象是否相等的時候會調用這個方法。
#如果是相等,那么應該返回True,否則返回False。#__ne__(self,other):
#在使用!=比較運算符來比較兩個對象是否不相等的時候會調用這個方法。
#如果這兩個對象不想等,那么應該返回True,否則返回False。#__lt__(self,other):
#在使用<比較運算符來比比較兩個對象大小的時候會調用這個方法。
#如果self<other,那么應該返回True,否則返回False。#<=和>=的解決方案:
#以上講了<、>、==以及!=的執行方法。
#沒有講<=和>=這兩個運算符執行的方法,其實這兩個方法是這樣執行的,
#拿<=為例來講,首先執行<判斷,如果為False,那么會再執行==判斷,
#如果都為False,那么就返回False。
class class(object):def __init__(self,param1,param2):self.param1= self.param2 = param2def __eq__(self,other):if self.param1==other.param1 and self.param2==other.param2:return Trueelse:return Falsedef __ne__(self,other):if self.param1!=other.param1 or self.param2!=other.param2:return Trueelse:return Falsedef __lt__(self,other):if self.param1 < other.param1:return Trueelse:if self.param1==other.param1:return True if self.param2<other.param2 else Falseelse:return Falsedef __gt__(self,other):if self.param1>other.param1:return True