एक पायथन वर्ग को देखते हुए, जिसे केवल एक बार त्वरित किया जाएगा, अर्थात कक्षा की केवल एक वस्तु होगी। मैं सोच रहा था कि किन मामलों में यह वर्ग के साथ सीधे काम करने के बजाय एकल वर्ग उदाहरण बनाने के लिए समझ में आता है।
एक समान प्रश्न है , लेकिन इसका एक अलग ध्यान केंद्रित है:
- यह वैश्विक चर और कार्यों को एक वर्ग में वर्गीकृत करने के बारे में है और
- यह अजगर-विशिष्ट नहीं है। उत्तरार्द्ध का अर्थ है कि यह इस तथ्य पर विचार नहीं करता है कि (पायथन में) कक्षाएं ऑब्जेक्ट भी हैं।
अपडेट करें:
अजगर में, मैं दोनों वर्गों और वस्तुओं के साथ निम्नलिखित कर सकता हूं:
class A(object):
pass
A.some_state_var = True
# Then later
A.some_state_var = False
my_a = A()
my_a.some_state_var = True
# Then later
my_a.some_state_var = False
इसलिए मैं यह नहीं देखता कि एक वर्ग और उस वर्ग के उदाहरण के बीच चुनाव राज्य (पायथन) में कैसे होता है। मैं दोनों में से किसी एक राज्य को बनाए रख सकता हूं।
इसके अलावा, मेरी कक्षा / कक्षा का उदाहरण बनाने की प्रेरणा एक सिंगलटन आवश्यकता को लागू करने के बारे में नहीं है।
इसके अलावा, यह एक नया प्रकार बनाने के बारे में इतना नहीं है।
प्रेरणा संबंधित कोड और डेटा समूह है और इसके लिए एक इंटरफ़ेस है। यही कारण है कि मैंने शुरू में इसे क्लास आरेख में एक वर्ग के रूप में मॉडलिंग की। केवल जब यह कार्यान्वयन की बात आई तो मैं यह सोचने लगा कि क्या इस वर्ग को त्वरित करना है या नहीं।