किसी भी अजगर वर्ग में तीन प्रकार की विधियाँ होती हैं जैसे उदाहरण विधियाँ, वर्ग विधियाँ और स्थिर विधियाँ।
उदाहरण
कोड पर विचार करें
class OurClass: def method(self): return 'instance method called', self @classmethod def classmethod(cls): return 'class method called', cls @staticmethod def staticmethod(): return 'static method called'
तीसरी विधि, OurClass.staticmethod को एक स्थिर विधि के रूप में चिह्नित करने के लिए @staticmethod डेकोरेटर के साथ चिह्नित किया गया था।
इस प्रकार की विधि न तो स्वयं और न ही cls पैरामीटर लेती है, लेकिन यह अन्य मापदंडों की एक मनमानी संख्या को स्वीकार कर सकती है।
इसलिए एक स्थिर विधि न तो वस्तु स्थिति और न ही वर्ग स्थिति को संशोधित कर सकती है। स्थिर तरीके प्रतिबंधित हैं कि वे किस डेटा तक पहुंच सकते हैं - और वे मुख्य रूप से आपके तरीकों को नाम देने का एक तरीका हैं। हम उपरोक्त कोड से स्टेटिकमेथोड को निम्नानुसार कॉल कर सकते हैं
>>> obj = OurClass() >>> obj.staticmethod() 'static method called'