[Python-Dev] About [].append == [].append
Serhiy Storchaka
storchaka at gmail.com
Thu Jun 21 15:53:02 EDT 2018
More information about the Python-Dev mailing list
Thu Jun 21 15:53:02 EDT 2018
- Previous message (by thread): [Python-Dev] About [].append == [].append
- Next message (by thread): [Python-Dev] About [].append == [].append
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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.
- Previous message (by thread): [Python-Dev] About [].append == [].append
- Next message (by thread): [Python-Dev] About [].append == [].append
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list