यह प्रश्न इस बात की चर्चा के लिए नहीं है कि सिंगलटन डिजाइन पैटर्न वांछनीय है या नहीं , यह एक विरोधी पैटर्न है, या किसी भी धार्मिक युद्धों के लिए, लेकिन चर्चा करने के लिए कि यह पैटर्न पायथन में इस तरह से कैसे सबसे अच्छा कार्यान्वित किया जाता …
मैं Django का उपयोग कर रहा हूं जो लोगों को उपयोग करके कक्षा में अतिरिक्त पैरामीटर जोड़ने की अनुमति देता है class Meta। class FooModel(models.Model): ... class Meta: ... केवल एक चीज जो मुझे पायथन के दस्तावेज में मिली वह थी: class FooMetaClass(type): ... class FooClass: __metaclass__ = FooMetaClass हालाँकि, …
मेरे पास एक दोस्त है जो मेटाक्लस का उपयोग करना पसंद करता है, और नियमित रूप से उन्हें समाधान के रूप में पेश करता है। मैं मन का हूं कि आपको लगभग कभी भी मेटाक्लासेस का उपयोग करने की आवश्यकता नहीं है। क्यों? क्योंकि मैं समझती हूं कि यदि आप …
पायथन में, मैं @classmethodडेकोरेटर का उपयोग करके एक वर्ग विधि बना सकता हूं : >>> class C: ... @classmethod ... def f(cls): ... print(f'f called with cls={cls}') ... >>> C.f() f called with cls=<class '__main__.C'> वैकल्पिक रूप से, मैं मेटाक्लस पर एक सामान्य (उदाहरण) विधि का उपयोग कर सकता हूं: …