[Olpc-uruguay] Consulta tecnica python

Michael Cetrulo mail2samus en gmail.com
Lun Feb 8 12:21:53 EST 2010


buenas,

super(TextSync, self).__init__(tube, PATH)

equivale a:

ExportedGObject.__init__(self, tube, PATH)

no se olviden del self.

lo que hace es como decia Gabriel llamar al metodo __init__ de la clase
padre, se prefiere super ya que nos evita cambiar todas las referencias si
cambiamos la clase desde la cual hereda aunque con herencia multiple esto se
vuelve un poco mas complicado.

algo muy importante a tener en cuenta es que si bien estamos llamando a los
metodos de la clase padre, self sigue siendo instancia de la clase hija (es
una variable despues de todo), python tiene un sistema de herencia bastante
pobre y se refleja en todas esas cosas.

2010/2/7 Gabriel Eirea <geirea en gmail.com>

> > Así que la linea:
> >
> > super(TextSync, self).__init__(tube, PATH)
> >
> > es lo mismo que:
> >
> > ExportedGObject.__init__(tube, PATH)
> >
> > ??
>
> Capaz que la sintaxis está mal, pero la idea es que la clase padre de
> TextSync es ExportedGObject, entonces al inicializar TextSync lo
> primero que debe hacerse es inicializar a su clase padre, que se
> obtiene con super(TextSync,self).
>
> Es una de esas cosas que hay que hacer siempre y chau.
>
> Mirá por ejemplo acá (Example 5.6):
>
> http://diveintopython.org/object_oriented_framework/defining_classes.html
> _______________________________________________
> Olpc-uruguay mailing list
> Olpc-uruguay en lists.laptop.org
> http://lists.laptop.org/listinfo/olpc-uruguay
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://lists.laptop.org/pipermail/olpc-uruguay/attachments/20100208/55065675/attachment.htm 


More information about the Olpc-uruguay mailing list