Chcę utworzyć obiekt dynamiczny (wewnątrz innego obiektu) w Pythonie, a następnie dodać do niego atrybuty.
Próbowałem:
obj = someobject
obj.a = object()
setattr(obj.a, 'somefield', 'somevalue')
ale to nie zadziałało.
Jakieś pomysły?
edytować:
Ustawiam atrybuty z for
pętli, która przechodzi przez listę wartości, np
params = ['attr1', 'attr2', 'attr3']
obj = someobject
obj.a = object()
for p in params:
obj.a.p # where p comes from for loop variable
W powyższym przykładzie chciałbym uzyskać obj.a.attr1
, obj.a.attr2
, obj.a.attr3
.
Użyłem tej setattr
funkcji, ponieważ nie wiedziałem, jak to zrobić obj.a.NAME
z for
pętli.
Jak ustawić atrybut na podstawie wartości z p
powyższego przykładu?
a = object()
i potrzebujesz obj.a = object()
. Ponownie mówię o przykładzie, w twoim rzeczywistym kodzie może się przydać obiekt wewnątrz obiektu.