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