<p><br>
On Feb 13, 2011 5:37 PM, "James Mills" <<a href="mailto:prologic@shortcircuit.net.au">prologic@shortcircuit.net.au</a>> wrote:<br>
><br>
> On Mon, Feb 14, 2011 at 8:21 AM, MRAB <<a href="mailto:python@mrabarnett.plus.com">python@mrabarnett.plus.com</a>> wrote:<br>
> > I would've done it this way:<br>
> ><br>
> > class FasterShip(Ship):<br>
> >    def __init__(self, speed=0, **kwargs):<br>
> >        Ship.__init__(self, **kwargs)<br>
> >        self.speed = speed<br>
><br>
> What's the difference between calling the base<br>
> class's constructor directly and using the super type ?<br>
><br>
> cheers<br>
> James<br>
><br>
> --</p>
<p>In this case, nothing. If you use multiple inheritance  and you end up with weird inheritance heirarchies, super might not return the class you think it will return. <br></p>