Persistencia para una variable

Germán Carrera gcarrera en cnb.uam.es
Mie Feb 28 14:34:26 CET 2007


Perdón, variables globales.

Saludos

Germán Carrera wrote:
> Hola Chema,
>
> Voy a probar lo que me comentas sobre variables de clase la solución 
> parece mucho más elegante que la de usar variables locales.
>
> Muchas gracias.
>
> Chema Cortes wrote:
>> El 27/02/07, Germán Carrera <gcarrera en cnb.uam.es> escribió:
>>
>>> Gracias por la ayuda, el caso es un poco enrevesado y para buscar una
>>> solución, debido a que no puedo modificar el código que no forma parte
>>> de mi módulo hice una reproducción con un pequeño ejemplo de lo que 
>>> pasaba .
>>>
>>> Esto es a grandes rasgos, en cada iteración se creaba una instancia
>>> nueva de "test" perdiéndose el valor de las propiedades de la clase
>>> generada anteriormente, añadiendo el global (en este caso que el objeto
>>> se instancia en cada iteración) se acaban más o menos los problemas.
>>>
>>> Si pudiera accader al resto, sólo haría falta quitar test_=test() de
>>> dentro del for y ponerlo encima.
>>
>> Entiendo mejor el problema. Como te comentaba, la alternativa a usar
>> variables globales sería usar atributos de clase:
>>
>> class test:
>>   carajo=[6,7]
>>   def __init__(self):
>>       None
>>   def algofunc(self,iter):
>>       for n in range(90):
>>           if iter==5:
>>               test.carajo=[2,3,3,4,5,3,4,3]
>>       print test.carajo
>>
>>
>> La ventaja de hacerlo así es que haces que el atributo global se
>> asocie a la clase, con lo que queda más claro si vas a hacer
>> subclases.
>>
>> Por cierto, cuando no quieras poner nada en el cuerpo de una función
>> usa el token 'pass':
>>
>>   def __init__(self):
>>       pass
>> _______________________________________________
>> Python-es mailing list
>> Python-es en aditel.org
>> http://listas.aditel.org/listinfo/python-es
>>
>
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
>




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