[Python-Dev] == on object tests identity in 3.x - list delegation to members?
ethan at stoneleaf.us
Mon Jul 14 07:51:04 CEST 2014
On 07/13/2014 10:33 PM, Andreas Maier wrote:
> Am 14.07.2014 04:55, schrieb Ethan Furman:
>> On 07/13/2014 08:13 AM, Andreas Maier wrote:
>>> Test #8: Same object of class C
>>> (C.__eq__() implemented with equality of x,
>>> C.__ne__() returning NotImplemented):
>>> obj1: type=<class '__main__.C'>, str=C(256), id=39406504
>>> obj2: type=<class '__main__.C'>, str=C(256), id=39406504
>>> a) obj1 is obj2: True
>>> C.__eq__(): self=39406504, other=39406504, returning True
>> This is interesting/weird/odd -- why is __eq__ being called for an 'is'
> The debug messages are printed before the result is printed. So this is the debug message for the next case, 8.b).
Ah, whew! That's a relief.
> Sorry for not explaining it.
Had I been reading more closely I would (hopefully) have noticed that, but I was headed out the door at the time.
More information about the Python-Dev