[Python-Dev] subclassing builtin data structures

Ethan Furman ethan at stoneleaf.us
Fri Feb 13 04:00:41 CET 2015


On 02/12/2015 06:57 PM, Steven D'Aprano wrote:
> On Thu, Feb 12, 2015 at 06:14:22PM -0800, Ethan Furman wrote:
>> On 02/12/2015 05:46 PM, MRAB wrote:
>>> On 2015-02-13 00:55, Guido van Rossum wrote:
> 
>>>> Actually, the problem is that the base class (e.g. int) doesn't know how
>>>> to construct an instance of the subclass -- there is no reason (in
>>>> general) why the signature of a subclass constructor should match the
>>>> base class constructor, and it often doesn't.
>>>>
>>>> So this is pretty much a no-go. It's not unique to Python -- it's a
>>>> basic issue with OO.
>>>>
>>> Really?
>>
>> What I was asking about, and Guido responded to, was not having to specifically override __add__, __mul__, __sub__, and
>> all the others; if we do override them then there is no problem.
> 
> I think you have misunderstood MRAB's comment. My interpretation is 
> that MRAB is suggesting that methods in the base classes should use 
> type(self) rather than hard-coding their own type.

That makes more sense, thanks.

--
~Ethan~

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <http://mail.python.org/pipermail/python-dev/attachments/20150212/c7c87f45/attachment.sig>


More information about the Python-Dev mailing list