在类中实现丰富的比较方法时,在比较两种不同的类类型时应该返回什么?从它说的文件
除非该类定义了足够丰富的比较方法(
__lt__()
,__le__()
,否则无法针对同一类的其他实例或其他类型的对象对类的实例进行排序,__gt__()
,__ge__()
)或__cmp__()
方法。
但是,我在文档中的任何地方都找不到标准返回类型,以便在两个不同的类之间进行比较。我想知道Python 2
和Python 3
的标准。
答案 0 :(得分:0)
__cmp__
(Python 2.x only)应返回self < other
为负数,self == other
为零,self > other
为正数。
The others(&#34;丰富的比较方法&#34;,2.x和3.x)应该返回适当的布尔值,例如如果__lt__(self, other)
,则True
应该返回self < other
,否则会返回False
。