[pyar] Pregunta de clases

Sebastian Scheib stackpointerex en gmail.com
Mar Mar 26 14:48:17 ART 2013


Muchísimas gracias!!!!!!


El 26 de marzo de 2013 14:47, Luis I. Facciolo <lifacciolo en gmail.com>escribió:

> El 26 de marzo de 2013 14:30, Sebastian Scheib <stackpointerex en gmail.com>escribió:
>
>> 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
>>
>
> En este caso, para lo que vos queres lograr, seria asi:
>
> class aaa:
>     def __init__(self, aaa):
>         self.texto = []
>         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
>
> output:
> ['hola']
> --------
> ['chau']
>
> Porque?
>
> Porque al definir texto, afuera del __init__, directamente en la clase, lo
> estas declarando como variable de CLASE y no de la instancia misma.
> Justamente para eso tenes el __init__, para declarar cosas inherentes a esa
> instancia de la clase, dentro de la coleccion self.
>
> Al ser una variable de clase, es una variable que compraten entre TODAS
> LAS INSTANCIAS de la misma clase.
>
> _______________________________________________
> 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
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20130326/3d952a36/attachment.html>


More information about the pyar mailing list