cause __init__ to return a different class?

Arnaud Delobelle arnodel at
Thu Sep 15 19:39:34 CEST 2011

On 15 September 2011 15:41, Matthew Pounsett <matt.pounsett at> wrote:
> On Sep 15, 1:35 am, Chris Rebert <c... at> wrote:
>> Override __new__() instead:
> Aha.. thanks!  The reference book I'm working from neglects to mention
> __new__, so I'd assumed __init__ was the constructor.  It hadn't
> occurred to me that python would separate the functions (I still don't
> see exactly why it would be useful to do that, but perhaps insight
> will come with time).

If you're interested in the reason, I suggest you read Guido's essay
on "new style classes" which were introduced in Python 2.2 (and are
now a good 10 years old I think):


More information about the Python-list mailing list