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

Andreas Maier andreas.r.maier at gmx.de
Tue Jul 8 02:12:14 CEST 2014


Am 2014-07-07 18:09, schrieb Ethan Furman:
> Just because two instances from the same object have the same value 
> does not mean they are equal.  For a real-life example, look at 
> twins:  biologically identical, yet not equal. 

I think they *are* equal in Python if they have the same value, by 
definition, because somewhere the Python docs state that equality 
compares the object's values.

The reality though is that value is more vague than equality test (as it 
was already pointed out in this thread): A class designer can directly 
implement what equality means to the class, but he or she cannot 
implement an accessor method for the value. The value plays a role only 
indirectly as part of equality and ordering tests.

Andy


More information about the Python-Dev mailing list