ฉันต้องการสร้างวัตถุแบบไดนามิก (ภายในวัตถุอื่น) ใน Python แล้วเพิ่มคุณสมบัติเข้าไป
ฉันเหนื่อย:
obj = someobject
obj.a = object()
setattr(obj.a, 'somefield', 'somevalue')
แต่มันไม่ได้ผล
ความคิดใด ๆ
แก้ไข:
ฉันกำลังตั้งค่าคุณสมบัติจากfor
ลูปซึ่งวนรอบรายการค่าเช่น
params = ['attr1', 'attr2', 'attr3']
obj = someobject
obj.a = object()
for p in params:
obj.a.p # where p comes from for loop variable
ในตัวอย่างข้างต้นฉันจะได้รับobj.a.attr1
, , obj.a.attr2
obj.a.attr3
ฉันใช้setattr
ฟังก์ชั่นนี้เพราะฉันไม่รู้วิธีการทำobj.a.NAME
จากfor
ลูป
ฉันจะตั้งค่าแอททริบิวตามค่าของp
ตัวอย่างด้านบนได้อย่างไร
a = object()
obj.a = object()
อีกครั้งฉันกำลังพูดถึงตัวอย่างในรหัสจริงของคุณวัตถุในวัตถุอาจมีประโยชน์