Я хочу створити динамічний об’єкт (всередині іншого об’єкта) в 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()
. Ще раз кажу про приклад, у вашому фактичному коді може бути корисним об'єкт всередині об'єкта.