On Fri, Feb 13, 2015 at 10:02 AM, Alexander Belopolsky <
alexander.belopol...@gmail.com> wrote:

>
> On Fri, Feb 13, 2015 at 12:35 PM, Guido van Rossum <gu...@python.org>
> wrote:
>
>> IIUC you're proposing that the base class should *try* to construct an
>> instance of the subclass by calling the type with an argument, and fail if
>> it doesn't work. But that makes the whole thing brittle in the light of
>> changes to the subclass constructor. Also, what should the argument be? The
>> only answer I can think of is an instance of the base class.
>
>
> No.  The arguments should be whatever arguments are appropriate for the
> baseclass's __init__ or __new__.  In the case of datetime.date that would
> be year, month, day.
>

Agreed. (I was thinking of the case that Ethan brought up, which used int
as an example.)


> Note that the original pure python prototype of the datetime module had
> date.__add__ and friends call self.__class__(year, month, day).
> Unfortunately, it looks like the original sandbox did not survive the the
> hg conversion, so I cannot provide a link to the relevant history.
>

FWIW you're wrong when you claim that "a constructor is no different from
any other method". Someone else should probably explain this (it's an old
argument that's been thoroughly settled).

-- 
--Guido van Rossum (python.org/~guido)
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to