[Python-Dev] == on object tests identity in 3.x

2014年7月07日 10:08:54 -0700

Am 07.07.2014 17:55, schrieb Ethan Furman:
On 07/07/2014 04:22 AM, Andreas Maier wrote:
Where is the discrepancy between the documentation of == and its
default implementation on object documented?
There's seems to be no discrepancy (at least, you have not shown it),
The documentation states consistently that == tests the equality of the value of an object. The default implementation of == in both 2.x and 3.x tests the object identity. Is that not a discrepancy?
but to answer the question about why the default equals operation is an
identity test:
 - all objects should be equal to themselves (there is only one that
isn't, and it's weird)
I agree. But that is not a reason to conclude that different objects (as per their identity) should be unequal. Which is what the default implementation does.
 - equality tests should not, as a general rule, raise exceptions --
they should return True or False
Why not? Ordering tests also raise exceptions if ordering is not implemented.
Andy
_______________________________________________
Python-Dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to