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/2013-April/125125.html below:

[Python-Dev] Semantics of __int__(), __index__()

[Python-Dev] Semantics of __int__(), __index__()Guido van Rossum guido at python.org
Thu Apr 4 23:14:05 CEST 2013
On Thu, Apr 4, 2013 at 1:50 PM, Tim Delaney <tim.delaney at aptare.com> wrote:
> I fall into:
>
> 1. int(), float(), str() etc should return that exact class (and
> operator.index() should return exactly an int).
>
> 2. It could sometimes be useful for __int__() and __index__() to return a
> subclass of int.
>
> So, for the int constructor, I would have the following logic (assume
> appropriate try/catch):
>
> def __new__(cls, obj):
>     i = obj.__int__()
>
>     if type(i) is int:
>         return i
>
>     return i._internal_value

CPython can solve this in C using an unsafe cast, and the code that
checks for allowable subclasses of int actually ensures such a cast
will work. But it still feels wrong; __int__ should be expected to do
the work.

--
--Guido van Rossum (python.org/~guido)
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