Message148760
| Author |
ezio.melotti |
| Recipients |
cvrebert, docs@python, ezio.melotti, mark.dickinson, rhettinger, terry.reedy |
| Date |
2011年12月02日.16:49:27 |
| SpamBayes Score |
2.6115404e-07 |
| Marked as misclassified |
No |
| Message-id |
<1322844568.33.0.783845954563.issue12067@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
Would it be ok to state that:
1) <, >, ==, >=, <=, and != compare the values of two objects;
2) the two objects don't necessarily have to be of the same type;
3) with == and !=, objects of different types compare unequal, unless they define a specific __eq__ and/or __ne__;
4) with <, >, <=, and >=, the comparison of objects of different types raises a TypeError, unless they define specific __lt__, __gt__, __le__, and __ge__;
5) some built-in types define these operations, so it's possible to compare e.g. int and floats;
This should summarize the possible behaviors. There's no reason IMHO to expose implementation details and to special case built-in types (unless their comparison is actually different and doesn't depend on __eq__, __ne__, etc.). |
|