Message148760
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.). |
|
Date |
User |
Action |
Args |
2011-12-02 16:49:28 | ezio.melotti | set | recipients:
+ ezio.melotti, rhettinger, terry.reedy, mark.dickinson, cvrebert, docs@python |
2011-12-02 16:49:28 | ezio.melotti | set | messageid: <1322844568.33.0.783845954563.issue12067@psf.upfronthosting.co.za> |
2011-12-02 16:49:27 | ezio.melotti | link | issue12067 messages |
2011-12-02 16:49:27 | ezio.melotti | create | |
|