I'm with Serhiy here, for mutable values I don't think the methods should compare equal, even when the values do. For immutables I don't care either way, it's an implementation detail. On Thu, Jun 21, 2018, 12:55 Serhiy Storchaka <storchaka at gmail.com> wrote: > 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. > > _______________________________________________ > Python-Dev mailing list > Python-Dev at python.org > https://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: > https://mail.python.org/mailman/options/python-dev/guido%40python.org > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20180621/649e8e3e/attachment.html>
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