अजगर में मेरा नाम टपल क्लास है
class Town(collections.namedtuple('Town', [
'name',
'population',
'coordinates',
'population',
'capital',
'state_bird'])):
# ...
मैं शहर के उदाहरणों को शब्दकोशों में बदलना चाहता हूं। मैं नहीं चाहता कि यह किसी कस्बे के क्षेत्रों के नाम या संख्या से सख्ती से जुड़ा हो।
क्या ऐसा लिखने का कोई तरीका है जिससे मैं और अधिक फ़ील्ड जोड़ सकूँ, या एक पूरी तरह से अलग नाम की टपल पास कर सकूँ और एक शब्दकोश प्राप्त कर सकूँ।
मैं मूल वर्ग की परिभाषा को किसी और के कोड में बदल नहीं सकता। इसलिए मुझे एक टाउन का उदाहरण लेने की जरूरत है और इसे एक डिक्शनरी में बदलना है।
dict
'नेमटुपल' के बजाय सबक्लास है, और आरम्भिक में नामांकित को पास करें। याद रखें कि यदि आप Cxx के लिए उपयोग किए जाते हैं, class Town(x)
तो कंस्ट्रक्टर नहीं है, इसके def __init__(self, *args, **kwargs)
अंदर है।
dir
सिर्फ एक अजगर में निर्मित है ... आप इसे किसी भी अजगर वस्तु पर, कंसोल में या स्क्रिप्ट में (जहां यह एक सूची देता है, जिसे आप प्रिंट कर सकते हैं या जो कुछ भी कर सकते हैं) को चला सकते हैं, और यह (लगभग) ) सभी विशेषताओं वस्तु। यदि आप यह जानने की कोशिश कर रहे हैं कि कोई अज्ञात वस्तु कैसे काम करती है।
dir
कमांड को देखें, जो आपको किसी भी ऑब्जेक्ट के लिए फ़ील्ड दिखाएगा ... जो_asdict
सीधे फ़ंक्शन को दिखाएगा ।