[Python-es] Sobre super()

Gustavo Cabral gmcabral en gmail.com
Mar Feb 1 19:34:47 CET 2011


> No tengo tiempo ahora para poner un ejemplo completo, así que lo
> propongo como ejercicio:
>
> Supongamos que tenemos 4 clases:
>
> class A(object):
>  def __init__(self):pass
>
> class B(A):
>  def __init__(self):
>   super(B, self).__init__()
>
> class C(A):
>  def __init__(self):
>   super(C,self).__init__()
>
> class D(B,C):
>  def __init__(self):
>   super(D,self).__init__()
>
>
> d=D()
>
>
> Preguntas:
>
> 1) ¿en qué orden se ejecutarán los métodos de inicialización?  (pista:
> D.__mro__)
> 2) ¿qué pasa cuando en la clase B cambiamos super(B,self) por
> super(self.__class__,self)?

Deam!. Al final, no es que Python es "simple"... repito, a estudiar
(como recién empiezo en Python, agarré un código que tenía que "tocar"
y me topé con "super"). Creo que me está pasando lo mismo que cuando
me largué con Linux, ya le agarraré la mano. Muchas Gracias por las
respuestas.


-- 

Linux es Libertad


Más información sobre la lista de distribución Python-es