Would there be support for a more general cmp/__cmp__
Mikael Olofsson
mikael at isy.liu.se
Thu Oct 20 05:26:49 EDT 2005
Antoon Pardon wrote:
> Op 2005-10-20, Duncan Booth schreef <duncan.booth at invalid.invalid>:
>
>>Antoon Pardon wrote:
>>
>>
>>>The problem now is that the cmp protocol has no way to
>>>indicate two objects are incomparable, they are not
>>>equal but neither is one less or greater than the other.
>>
>>If that is the case then you implement __eq__ and __ne__ to return
>>True/False and make cmp throw an exception. I don't see any need to extend
>>the cmp protocol.
>
>
> That is not sufficient. There are domains where an order exists, but not
> a total order. So for some couples of elements it is possible to say
> one is less than the other, but not for all such couples.
>
> Your solution wouldn't allow for such a case.
Wouldn't the full power of rich comparisons be enough? See section 3.3.1
in Python Reference Manual:
http://www.python.org/doc/2.4.2/ref/customization.html
See methods __lt__, __le__, __eq__, __ne__, __gt__, __ge__.
/MiO
More information about the Python-list
mailing list