Objetos Anidados (lista de objetos)

Daniel dmlistapython en gmail.com
Mar Nov 6 13:21:24 CET 2007


Hola Chicos:
	tengo un problema con el siguiente código
----------------------
class persona:
    nombre=""
    direccion=""
    hijos=[]
    def AsignarHIjos(self, hijo):
        self.hijos.append(hijo)
    

padre=persona()
padre.nombre="carlos"
hijo1=persona()
hijo1.nombre="pedro"
hijo2=persona()
hijo2.nombre="marta"
padre.AsignarHIjos(hijo1)
padre.AsignarHIjos(hijo2)
nieto1=persona()
nieto1.nombre="juan"
nieto2=persona()
nieto2.nombre="sandra"
hijo1.AsignarHIjos(nieto1)
hijo1.AsignarHIjos(nieto2)

print len(padre.hijos)
print len(hijo1.hijos)
-------------------------

	Si lo ejecutan van a ver que tanto padre como hijo me devueven 4 hijos
(cuando para el padre 2 son nietos, no hijos directos). 
	Traté de buscar un caso "familiar" para que se entienda el código.
	Pregunta: ¿Porqué me interpreta dentro de la misma lista de hijos a
todos y no los anida :(? ¿Cómo lo soluciono?
	
	Muchas gracias. Daniel (Arg)




------------ próxima parte ------------
_______________________________________________
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