मैं पायथन में एक गतिशील वस्तु (किसी अन्य वस्तु के अंदर) बनाना चाहता हूं और फिर उसमें विशेषताएँ जोड़ना चाहता हूं।
मैंने कोशिश की:
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()
। फिर से मैं उदाहरण के बारे में बात कर रहा हूं, आपके वास्तविक कोड में एक वस्तु के अंदर एक वस्तु उपयोगी हो सकती है।