Python的“数据模型”解释了这一切:
比较运算符之间没有隐含的关系。的真相
x==y并不意味着那x!=y是错误的。因此,在定义时__eq__(),还应该定义一个,__ne__()以便操作符能够按预期运行。
在中
C(1) != C(2),它使用默认的实现,在该实现中,对象仅等于它们自己,而不等于其他所有对象。
定义
__cmp__可以更简单,因为它用作所有比较操作的后备,而不仅仅是其中的一些:
... def __cmp__(self, o):... return 0>>> C(1) != C(2)False



