Persistencia para una variable
Chema Cortes
py en ch3m4.org
Lun Feb 26 17:53:44 CET 2007
Germán Carrera escribió:
> __init__ añadir
> self.plan=[]
>
> Y substituir en el caso del código de abajo.
> pero en este caso la lista self.plan pierde su valor en cada una de las
> iteraciones.
Aunque un poco más claro, no entiendo bien qué abarcan cada una de esas
iteracciones. El atributo plan no debería perder su valor a no ser que
lo que realmente estés haciendo es crear nuevas instancias en lugar de
reutilizar la misma.
Dime si me equivoco, pero creo que lo que quieres es que varias
instancias compartan el valor de un mismo atributo. Si fuera así, lo que
estás necesitando es un "atributo de clase". En lugar de iniciar 'plan'
en el método __init__, ponlo fuera de los métodos:
class MyIter:
plan=[]
def __init__(self):
....
def myiter(self):
MyIter.plan.append(task)
(También se podrías acceder como "self.plan", pero conviene ser
explícito y hacer ver que es un atributo de la clase)
--
Chema Cortés (py en ch3m4.org)
"Proudly made on earth by generic humanoid carbon units"
Más información sobre la lista de distribución Python-es