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, die eine Liste von Werten durchläuft, z
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 , das ich bekommen würde obj.a.attr1
, obj.a.attr2
, obj.a.attr3
.
Ich habe die setattr
Funktion verwendet, weil ich nicht wusste, wie man mit obj.a.NAME
einer for
Schleife umgeht.
Wie würde ich das Attribut basierend auf dem Wert von p
im obigen Beispiel festlegen ?
a = object()
und Sie brauchen obj.a = object()
. Ich spreche wieder über das Beispiel, in Ihrem eigentlichen Code könnte ein Objekt innerhalb eines Objekts nützlich sein.