以下的魔术方法是用于比较对象的大小,告诉Python通过哪种方式去比较对象的大小

  1. __cmp__(self,other):

这个魔术方法是Python2中用来比较大小的。这个方法接收另外一个参数用来作为比较的。如果self比other大,那么应该返回一个正数,如果self和other相等,那么应该返回0,如果self比other小,那么应该返回一个负数。

在Python2中比较多,在Python3中已经被废弃了,不建议继续使用

  • __eq__(self,other):

在使用==比较运算符比较两个对象是否相等的时候会调用这个方法。判断两个对象是否相等,相等返回True,否则返回False

  • __ne__(self,other):

在使用!=比较运算符来比较两个对象是否不相等的时候会调用这个方法。如果这两个对象不想等,那么应该返回True,否则返回False

  • __lt__(self,other)

在使用<比较运算符来比比较两个对象大小的时候会调用这个方法。如果self<other,那么应该返回True,否则返回False

  • __gt__(self,other)

在使用>比较运算符的时候会调用这个方法。如果self>other,那么应该返回True,否则返回False

  • __le__(self,other)

在使用<=比较运算符的时候会调用这个方法。如果self<=other,那么应该返回True, 否则返回False

  • __ge__(self,other)

在使用>=比较运算符的时候会调用这个方法。如果self>=other,那么应该返回True, 否则返回False

有时候会发现如果只写了gt或者lt也能判断大小于,原因就是:Python在运行的时候先去找p1的gt方法如果没有的话就去找p2的lt方法