Я хочу создать динамический объект (внутри другого объекта) в 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в примере выше?
a = object()и вам это нужно obj.a = object(). Опять же, я говорю о примере: в вашем реальном коде объект внутри объекта может быть полезен.