Asignando un atributo por nombre

Josu Oyanguren josu en ubera.net
Mar Dic 23 13:16:41 CET 2003


yo utilizaría las funciones getattr y setattr.

Josu Oyanguren.

Pablo Barrera González wrote:

>Hola a todos
>
>Llevo un par de días intentando hacer una cosa que al principio pensaba
>que era fácil pero ahora no sé si se puede hacer.
>
>Tengo una serie de instancias que correrán en unos cuantos hilos. Uso
>cerrojos y condiciones para evitar que los datos se modifiquen mal. Lo
>que quiero es cambiar los atributos de una clase cerrando el cerrojo
>desde dentro de la clase y no desde el resto del programa, para
>simplificar lo demás. Lo que se me ha ocurrido es definir unos métodos
>como estos:
>
>def get(self, name):
>	return eval("self.%s")
>def set(self,name, value):
>	eval("self.%s = %s", name, value)
>
>El get funciona bien, pero con el set se queja ya que no puedo poner el
>igual dentro de la expresión a evaluar por eval. 
>
>He estado buscando otras opciones, como conseguir una referencia del
>atributo que quiero cambiar pero no he tenido suerte. ¿Alguna idea? 
>
>Muchas gracias
>
>Pablo Barrera
>
>
>  
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Python-es mailing list
>Python-es en aditel.org
>http://listas.aditel.org/listinfo/python-es
>  
>


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