clases

Oswaldo Hernández listas en soft-com.es
Lun Nov 10 13:33:44 CET 2008


Pablo Martin Rodriguez escribió:
> Muy buenas. Debo de ser bastante malo en esto, o quizas no me he enterado de
> algo importante. El caso es que al usar una clase creada por mi, esta no
> tiene el comportamiento esperado. Para simplificarlo todo, he acabado
> creando esta clase:
> 
> class lista:
>     puntos=[]
>     def addPunto(self,punto):
>         self.puntos+=[punto]
> 
> Muy sencilla, tan solo almacena los puntos, es más, lo hace. El problema, es
> que, al crear varias instancias de la clase lista, al añadir un punto a
> cualquiera de ellas, se añade a todas. Es decir, no puedo tener mas de una
> lista, pq aunque las cree, y esten en direcciones de memoria distintas, al
> añadir un punto a una de ellas, se añade a todas, por lo que todas son
> iguales. ¿alguien sabe que es lo que estoy haciendo mal? muchas gracias

Estas declarando puntos[] como variable de clase y por eso es compartida por todas las instancias.



-- 
*****************************************
Oswaldo Hernández
oswaldo (@) soft-com (.) es
*****************************************
PD:
Antes de imprimir este mensaje, asegúrese de que es necesario.
El medio ambiente está en nuestra mano.
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





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