[Python-Dev] subclassing builtin data structures

Chris Angelico rosuav at gmail.com
Fri Feb 13 03:40:50 CET 2015


On Fri, Feb 13, 2015 at 12:46 PM, MRAB <python at mrabarnett.plus.com> wrote:
>>>> class BaseInt:
> ...     def __init__(self, value):
> ...         self._value = value
> ...     def __add__(self, other):
> ...         return type(self)(self._value + other)

On Fri, Feb 13, 2015 at 11:55 AM, Guido van Rossum <guido at python.org> wrote:
> ... there is no reason (in general) why
> the signature of a subclass constructor should match the base class
> constructor, and it often doesn't.

You're requiring that any subclass of BaseInt be instantiable with one
argument, namely its value. That's requiring that the signature of the
subclass constructor match the base class constructor.

ChrisA


More information about the Python-Dev mailing list