मेरे पास एक जटिल डेटा सदस्य के साथ एक कक्षा है जिसे मैं "स्थैतिक" रखना चाहता हूं। मैं एक समारोह का उपयोग कर इसे एक बार शुरू करना चाहता हूं।पाइथोनिक वे आरंभ करने के लिए (कॉम्प्लेक्स) स्टेटिक डेटा सदस्य
def generate_data():
... do some analysis and return complex object e.g. list ...
class Coo:
data_member = generate_data()
... rest of class code ...
समारोह generate_data
एक लंबे समय लगता है पूरा करने के लिए और डेटा है कि चल रहे एक कार्यक्रम के दायरे में निरंतर बनी हुई रिटर्न: कैसे pythonic कुछ इस तरह है। मैं नहीं चाहता कि हर बार कक्षा कोओ को तत्काल चालू किया जाए।
इसके अलावा, सत्यापित करने के लिए, जब तक मैं data_member
पर __init__
में कुछ भी निर्दिष्ट नहीं करता, तो यह "स्थैतिक" रहेगा? क्या होगा यदि कोओ में कोई विधि कुछ मूल्य data_member
(मान लीजिए कि यह एक सूची है) - क्या यह अतिरिक्त शेष उदाहरणों के लिए उपलब्ध होगा?
धन्यवाद
उस कोड के बारे में एकमात्र चीज अन-पायथनिक कक्षा नाम के लिए लोअरकेस पहचानकर्ता का उपयोग कर रही है। –
@ कार्ड: बेशक आप सही हैं, मैंने इसे बदल दिया :) –