[Python-Dev] About [].append == [].append (original) (raw)

Serhiy Storchaka storchaka at gmail.com
Thu Jun 21 15:53:02 EDT 2018


21.06.18 14:25, Jeroen Demeyer пише:

Currently, we have:

>>> [].append == [].append False However, with a Python class: >>> class List(list): ....     def append(self, x): super().append(x) >>> List().append == List().append True

I think this is a bug. These bound methods can't be equal because they have different side effect.

The use case for using "is" for self is described by the OP of issue1617161. I don't know use cases for using "==".

There is a related problem of hashing. Currently bound methods are not hashable if self is not hashable. This makes impossible using them as dict keys.



More information about the Python-Dev mailing list