Why has __new__ been implemented as a static method?

Terry Reedy tjreedy at udel.edu
Sat May 3 16:32:37 EDT 2014


On 5/3/2014 6:37 AM, Jurko Gospodnetić wrote:
>    Hi all.
>
>    I was wandering why Python implements its __new__ method as a static
> and not a class method?

For a technical internal reason that Guido and maybe others have 
explained on pydev (more than once). I forget the details partly because 
I do not care beyond knowing that there is a reason. You might be able 
to find something by searching the pydev archives at gmane.org for 
'__new__ static method'. In other words, Guido knows that it 'should' be 
a class method, if it could be.

>    Normally, I'd chalk this issue up under 'bike-shedding', but it came
> up while teaching others about Python and so does not feel right leaving
> it as 'because that's the way it is'. :-)

'Because that is how it has to be for technical internal reasons beyond 
the scope of my teaching.'

-- 
Terry Jan Reedy





More information about the Python-list mailing list