Существуют встроенные функции, называемые getattr
иsetattr
getattr(object, attrname)
setattr(object, attrname, value)
В этом случае
x = getattr(t, "attr1")
setattr(t, 'attr1', 21)
Как вы устанавливаете / получаете значения атрибутов t
заданных x
.
class test():
attr1 = int
attr2 = int
t = test()
x = "attr1"
В функциях setattr и getattr встроен python. Который может использоваться для установки и получения атрибута класса.
Краткий пример:
>>> 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