यह बहुत अच्छा सवाल है लेकिन सवाल के रूप में नहीं चाहते हैं। हालांकि 'सेल्फ' और 'एसएलएस' की इस्तेमाल की गई विधि में अंतर है, हालांकि एनालॉग वे एक ही स्थान पर हैं
def moon(self, moon_name):
self.MName = moon_name
#but here cls method its use is different
@classmethod
def moon(cls, moon_name):
instance = cls()
instance.MName = moon_name
अब आप देख सकते हैं कि दोनों ही चाँद फ़ंक्शन हैं लेकिन एक का उपयोग कक्षा के अंदर किया जा सकता है जबकि अन्य फ़ंक्शन नाम का चंद्रमा किसी भी वर्ग के लिए उपयोग किया जा सकता है।
व्यावहारिक प्रोग्रामिंग दृष्टिकोण के लिए:
सर्कल क्लास डिजाइन करते समय हम एरिया मेथड का प्रयोग स्वयं के बजाय cls के रूप में करते हैं क्योंकि हम नहीं चाहते कि क्षेत्र केवल सर्कल के विशेष वर्ग तक सीमित हो।