jfj wrote: > Peter Otten wrote:
>> Here is an alternative approach that massages the initializer signatures >> a bit to work with super() in a multiple-inheritance environment: > >> super(Father, self).__init__(p_father=p_father, **more) > > > Is there any advantage using super in this case? > I think the case Father.__init__ (self, params) is simpler > and does the job perfectly well. I agree. > super seems to be needed in "Dynamic Inheritance" cases where > we don't know an object's bases and there are comlicated mro issues! Suppose you wanted factor out common code from the Father and Mother classes into a Parent class -- something neither complicated nor farfetched. With explicit calls to Parent.__init__() you would end up calling it twice from Child.__init__(). So when you anticipate that your class hierarchy may change, or that your classes may be subclassed by users of your library, I think super() is somewhat less errorprone. Peter -- http://mail.python.org/mailman/listinfo/python-list