Ich möchte ein dynamisches Objekt (innerhalb eines anderen Objekts) in Python erstellen und ihm dann Attribute hinzufügen.
Ich habe es versucht:
obj = someobject
obj.a = object()
setattr(obj.a, 'somefield', 'somevalue')
aber das hat nicht funktioniert.
Irgendwelche Ideen?
bearbeiten:
Ich setze die Attribute aus einer for
Schleife, in der eine Liste von Werten durchlaufen wird, z. B.
params = ['attr1', 'attr2', 'attr3']
obj = someobject
obj.a = object()
for p in params:
obj.a.p # where p comes from for loop variable
In dem obigen Beispiel würde ich Folgendes erhalten obj.a.attr1
, obj.a.attr2
, obj.a.attr3
.
Ich habe die setattr
Funktion, weil ich nicht wusste, wie man die obj.a.NAME
von einer for
Schleife.
Wie würde ich das Attribut auf der Grundlage des Wertes von p
im obigen Beispiel?