[Python-Dev] About .append == .append
J.Demeyer at UGent.be
Thu Jun 21 07:25:19 EDT 2018
Currently, we have:
>>> .append == .append
However, with a Python class:
>>> class List(list):
... def append(self, x): super().append(x)
>>> List().append == List().append
In the former case, __self__ is compared using "is" and in the latter
case, it is compared using "==".
I think that comparing using "==" is the right thing to do because "is"
is really an implementation detail. Consider
>>> (10000).bit_length == (10000).bit_length
>>> (10000).bit_length == (10000+0).bit_length
I guess that's also the reason why CPython internally rarely uses "is"
More information about the Python-Dev