Как получить доступ к атрибуту атрибута объекта, соответствующей названию этого атрибута Как вы устанавливаете/получаете значения атрибутов t заданных x? class Test: def __init__(self): self.attr1 = 1 self.attr2 = 2 t = Test() x = "attr1" Ответ 1 Есть встроенные функции, называемые getattr и setattr getattr(object, attrname) setattr(object, attrname, value) В этом случае x = getattr(t, 'attr1') setattr(t, 'attr1', 21) Ответ 2 Примечание: этот ответ очень устарел. Это относится к Python 2 с использованием new модуля, который устарел в 2008 году. В Python встроены функции setattr и getattr. Который может использоваться для установки и получения атрибута класса. Краткий пример: >>> 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
Ответ 1 Есть встроенные функции, называемые getattr и setattr getattr(object, attrname) setattr(object, attrname, value) В этом случае x = getattr(t, 'attr1') setattr(t, 'attr1', 21)
Ответ 2 Примечание: этот ответ очень устарел. Это относится к Python 2 с использованием new модуля, который устарел в 2008 году. В Python встроены функции setattr и getattr. Который может использоваться для установки и получения атрибута класса. Краткий пример: >>> 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