On 04/03/2013 10:46 AM, Barry Warsaw wrote:
On Apr 04, 2013, at 03:04 AM, Steven D'Aprano wrote:
On 04/04/13 01:16, Barry Warsaw wrote:
the other built-in types-as-functions, so int() calls __int__() which must
return a concrete integer.
Why must it? I think that's the claim which must be justified, not just taken
as a given. When we call n = int(something), what's the use-case for caring
that n is an instance of built-in int but not of a subclass, and is that
use-case so compelling that it must be enforced for all uses of int() etc.?
It's a consistency-of-implementation issue. Where built-in types are
callable, they return concrete instances of themselves. This is true for
e.g. list, tuple, dict, bytes, str, and should also be true of int.
+1
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com