Sorry, I haven't upgraded to 3 yet.

On Thursday, June 30, 2011, Steven D'Aprano <st...@pearwood.info> wrote:
> Christopher King wrote:
>
> I would go with __cmp__ which covers them all. 1 for greater, 0 for equal,
> -1 for less than.
>
>
>
> So-called "rich comparisons" using __lt__, __gt__, etc. have been preferred 
> since Python 2.1. The major advantage of them is that they can be used for 
> more complicated data types, e.g. with sets where > means superset and < 
> means subset:
>
>
>>>> a = set([1, 2, 3, 4])
>>>> b = set([2, 3, 4, 5])
>>>>
>>>> a < b  # a is not a subset of b
> False
>>>> a > b  # neither is it a superset
> False
>>>> a == b  # and they're not equal either
> False
>>>> a & b  # but they do overlap:
> set([2, 3, 4])
>
>
>
> In Python 2.x, __cmp__ is only used as a fall-back if the rich comparisons 
> aren't defined. In Python 3.x, __cmp__ is gone: even if you define it, it 
> won't be used.
>
>
>
> _______________________________________________
> Tutor maillist  -  Tutor@python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/mailman/listinfo/tutor
>
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to