Quiero crear un objeto dinámico (dentro de otro objeto) en Python y luego agregarle atributos.
Lo intenté:
obj = someobject
obj.a = object()
setattr(obj.a, 'somefield', 'somevalue')
Pero esto no funcionó.
¿Algunas ideas?
editar:
Estoy configurando los atributos de un for
bucle que recorre una lista de valores, por ejemplo
params = ['attr1', 'attr2', 'attr3']
obj = someobject
obj.a = object()
for p in params:
obj.a.p # where p comes from for loop variable
En el ejemplo anterior me gustaría conseguir obj.a.attr1
, obj.a.attr2
, obj.a.attr3
.
Usé la setattr
función porque no sabía cómo hacerlo obj.a.NAME
desde un for
bucle.
¿Cómo establecería el atributo en función del valor de p
en el ejemplo anterior?
a = object()
y lo necesitas obj.a = object()
. Nuevamente, estoy hablando del ejemplo, en su código real, un objeto dentro de un objeto podría ser útil.