A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2018-June/153961.html below:

[Python-Dev] About [].append == [].append

[Python-Dev] About [].append == [].appendIvan Pozdeev vano at mail.mipt.ru
Thu Jun 21 07:33:27 EDT 2018
First, tell us what problem you're solving.

Strictly speaking, bound methods don't have an unambiguous notion of 
equality:

are they equal if they do the same thing, or of they do they same thing 
_on the same object_?

The result that you're seeing is a consequence of that same dichotomy in 
the minds of the .__eq__ designers, and Python Zen advises "In the face 
of ambiguity, refuse the temptation to guess." -- which is what you're 
suggesting.


On 21.06.2018 14:25, Jeroen Demeyer wrote:
> 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
>
> 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
> True
> >>> (10000).bit_length == (10000+0).bit_length
> False
>
> I guess that's also the reason why CPython internally rarely uses "is" 
> for comparisons.
>
> See also:
> - https://bugs.python.org/issue1617161
> - https://bugs.python.org/issue33925
>
> Any opinions?
>
>
> Jeroen.
> _______________________________________________
> 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/vano%40mail.mipt.ru

-- 
Regards,
Ivan

More information about the Python-Dev mailing list

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