[pyar] Pregunta de clases

Santiago Basulto santiago.basulto en gmail.com
Mar Mar 26 14:48:30 ART 2013


Hola Sebastián. El problema que tenés es que estás haciendo de `texto`
una variable a "nivel de clase". O sea, que texto pertenece a la clase
`aaa`, no a la instancia "pepe" o "gomez". Para hacer eso tendrías que
mover la inicialización de texto al __init__. De esta manera:

class aaa:
    def __init__(self,aaa):
        self.texto = []
        if aaa=="1":
            self.texto.append("hola")
        if aaa=="2":
            self.texto.append("chau")

Fijate que aparte ahí estoy haciendo explícito que la variable
pertenece a la instancia por la utilización de `self`.

Otra cosa a tener en cuenta. Estás pasando `aaa` como parámetro. Y a
su vez es el nombre de la clase. No es muy recomendado. Tratá de
evitarlo.

Lectura recomendada:
http://docs.python.org/2/tutorial/classes.html#class-objects

2013/3/26 Sebastian Scheib <stackpointerex en gmail.com>:
> Buenas, estoy probando algunas cosas con Python (volviendo a acostumbrarme a
> Python que no lo tocaba hace tiempo) y me pasa algo.
>
> Tengo esto:
>
> class aaa:
>     texto=[]
>     def __init__(self,aaa):
>         if aaa=="1":
>             self.texto.append("hola")
>         if aaa=="2":
>             self.texto.append("chau")
>
> pepe=aaa("1")
> gomez=aaa("2")
> print pepe.texto
> print "--------"
> print gomez.texto
>
> La salida de esto me da:
>
> ['hola', 'chau']
> --------
> ['hola', 'chau']
>
> No debería la salida de pepe darme hola y la de gomez chau? Cual sería la
> forma correcta de que esto suceda?
>
> Gracias.
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar



-- 
Santiago Basulto.-



More information about the pyar mailing list