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.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4