tp_richcompare类似于Python语言本身的丰富的比较特殊方法.它的选择优先tp_compare于在类上调用比较运算符的时间.
使用tp_richcompare当你想在比较逻辑更精细的控制.例如,可能有一种非常便宜的方法来确定平等,但不是优先级.Say memcmp(a, b, sizeof(*a)) == 0表示两个非常复杂的数据结构相等,但memcmp(a, b, sizeof(*a)) < 0并不表示a小于b,这需要一个昂贵的算法来确定.该tp_compare功能将要求你总是使用昂贵的算法,以返回一个-1,0或1.该tp_richcompare功能,OTOH,告诉你哪个比较打算,所以你可以选择昂贵或廉价的算法,根据手头的需要.
另一个优点tp_richcompare是,您可以为无意义的操作引发异常,例如空间中的u < v位置u和v位置.