> [Andrew Koenig] > > Yes. If you want to present a 3-way comparison to users, an > > underlying 3-way comparison is the fastest way to do it. The trouble > > is that a 3-way comparison is definitely not the fastest way to > > present a 2-way comparison to users. > > > > So if you want users to see separate 2-way and 3-way comparisons, > > I think the fastest way to implement them is not to try to force > > commonality where none exists. > > This seems an argument for keeping both __cmp__ and the six __lt__ > etc. Yet TOOWTDI makes me want to get rid of __cmp__. Recent experience with sets.py shows that __cmp__ has a high PITA factor when combined rich comparisons. There was no good way to produce all of the desired behaviors: * <, <=, >, >= having subset interpretations * __cmp__ being marked as not implemented * cmp(a,b) not by-passing __cmp__ when __lt__ and __eq__ were defined. The source of the complications is that comparing Set('a') and Set('b') returns False for *all* of <, <=, ==, >=, >. Internally, three-way compares relied on the falsehood of some implying the truth of others. Raymond Hettinger ################################################################# ################################################################# ################################################################# ##### ##### ##### ################################################################# ################################################################# #################################################################
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4