creo que encontre un bug

Chema Cortes pych3m4 en gmail.com
Lun Dic 29 12:21:33 CET 2008


El día 24 de diciembre de 2008 5:16, Victor Edier
<victoredier en yahoo.com> escribió:
> la cosa es que el interprete de python usa la misma instancia del objeto list para el constructor de la clase prueba, lo puedes comprobar haciendo esto:
> ........
> def __init__(self, a=[]):
>       self.a = a
>       print id(self.a)
> ........
>
> para lo que necesitas debería imprimir tres valores diferentes, una solución rápida sería llamar al constructor así:
> .........
> papa = prueba([])
> pepe = prueba([])
> pipi = prueba([])
> .........


Mi recomendación es hacer copias de las listas pasadas por argumento
para evitar "acoplamientos":

def __init__(self, a=[]):
  self.a=a[:]
  ...
_______________________________________________
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