Saya ingin membuat objek dinamis (di dalam objek lain) dengan Python dan kemudian menambahkan atribut padanya.
Saya mencoba:
obj = someobject
obj.a = object()
setattr(obj.a, 'somefield', 'somevalue')
tapi ini tidak berhasil.
Ada ide?
edit:
Saya mengatur atribut dari for
loop yang loop melalui daftar nilai, misalnya
params = ['attr1', 'attr2', 'attr3']
obj = someobject
obj.a = object()
for p in params:
obj.a.p # where p comes from for loop variable
Dalam contoh di atas saya akan mendapatkan obj.a.attr1
, obj.a.attr2
, obj.a.attr3
.
Saya menggunakan setattr
fungsi ini karena saya tidak tahu bagaimana melakukannya obj.a.NAME
dari satu for
lingkaran.
Bagaimana saya mengatur atribut berdasarkan nilai p
pada contoh di atas?
a = object()
dan Anda perlu obj.a = object()
. Sekali lagi saya berbicara tentang contohnya, dalam kode aktual Anda sebuah objek di dalam objek mungkin berguna.