![](https://secure.gravatar.com/avatar/047f2332cde3730f1ed661eebb0c5686.jpg?s=120&d=mm&r=g)
On Wed, Oct 15, 2008 at 11:03 AM, Terry Reedy <tjreedy@udel.edu> wrote:
George Sakkis wrote:
Now that 3.x fixes the arbitrary object comparison wart and drops (?) __cmp__,
An entry for __cmp__ was in the 3.0c1 doc, which confused me. It is now gone in http://docs.python.org/dev/3.0/reference/datamodel.html#special-method-names
Since rich comparisons are defined on object and are inherited by all classes, it would be difficult to make them not defined.
I should also note that part of George's proposal has already been implemented: if you define __eq__, you get a complementary __ne__ for free. However it doesn't work the other way around (defining __ne__ doesn't give you __eq__ for free), and there is no similar relationship for the ordering operators. The reason for the freebie is that it's *extremely* unlikely to want to define != as something other than the complement of == (the only use case is IEEE compliant NaNs); however it's pretty common to define non-total orderings (e.g. set inclusion). -- --Guido van Rossum (home page: http://www.python.org/~guido/)