[pyar] old style classes en Twisted

Ernesto Savoretti esavoretti en gmail.com
Sab Ago 28 23:34:32 ART 2010


2010/8/28 Juanjo Conti <jjconti en gmail.com>:
> Cuando uno quiere usar super en una clase que hereda de una old style class
> obtiene este error:
>
> TypeError: super() argument 1 must be type, not classobj
>
> Acá está explicado:
> http://www.wellho.net/mouth/2409_TypeError-super-argument-1-must-be-type-not-classobj-Python-.html
>
> En Twisted, me encontré necesitando hacer super en métodos de clases que
> tienen este problema, como LineOnlyReceiver. Cómo lo soluciono? Opté por
> hacer algo como:
>
> ClasePadre.metodo(self, *args, **kwargs)
>
> Es mala esta solución? Tiene algún efecto secundario?
>

Bueno, en principio uno de los problemas con este enfoque aparece
cuando tenés herencia múltiple.
De no ser así, funciona perfectamente y hasta - esto es opinable -
puede resultar más claro que el llamado a la función super.

Saludos.

-- 

                                    Ernesto Savoretti



More information about the pyar mailing list