Cómo acceder a un atributo del objeto dada la cadena correspondiente al nombre de ese atributo

¿Cómo se establecen / obtienen los valores de los atributos de t dados por x ?

 class test(): attr1 = int attr2 = int t = test() x = "attr1" 

Hay funciones getattr llamadas getattr y setattr

 getattr(object, attrname) setattr(object, attrname, value) 

En este caso

 x = getattr(t, "attr1") setattr(t, 'attr1', 21) 

Python está integrado en las funciones setattr y getattr. Que se puede utilizar para establecer y obtener el atributo de una clase.

Un breve ejemplo:

 >>> from new import classobj >>> obj = classobj('Test', (object,), {'attr1': int, 'attr2': int}) # Just created a class >>> setattr(obj, 'attr1', 10) >>> setattr(obj, 'attr2', 20) >>> getattr(obj, 'attr1') 10 >>> getattr(obj, 'attr2') 20