Я хочу создать динамический объект (внутри другого объекта) в Python и затем добавить к нему атрибуты.
Я пробовал:
obj = someobject
obj.a = object()
setattr(obj.a, 'somefield', 'somevalue')
но это не сработало.
Любые идеи?
изменить:
Я устанавливаю атрибуты из цикла for
, который перебирает список значений, например.
params = ['attr1', 'attr2', 'attr3']
obj = someobject
obj.a = object()
for p in params:
obj.a.p # where p comes from for loop variable
В приведенном выше примере я получил бы obj.a.attr1
, obj.a.attr2
, obj.a.attr3
.
Я использовал функцию setattr
, потому что я не знал, как сделать obj.a.NAME
из цикла for
.
Как бы установить атрибут на основе значения p
в приведенном выше примере?