คลาส python ใดๆ มีเมธอดสามประเภท เช่น เมธอดของอินสแตนซ์ เมธอดของคลาส และเมธอดแบบสแตติก
ตัวอย่าง
พิจารณารหัส
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 decorator เพื่อตั้งค่าสถานะเป็นวิธีการแบบคงที่
เมธอดประเภทนี้ไม่ใช้ทั้งพารามิเตอร์ self หรือ cls แต่สามารถรับพารามิเตอร์อื่นๆ ได้ตามใจชอบ
ดังนั้นเมธอดแบบสแตติกไม่สามารถแก้ไขสถานะของอ็อบเจ็กต์หรือสถานะของคลาสได้ วิธีการแบบคงที่ถูกจำกัดในสิ่งที่เข้าถึงได้ และเป็นวิธีหลักในการเนมสเปซวิธีการของคุณ เราสามารถเรียก staticmethod จากโค้ดด้านบนได้ดังนี้
>>> obj = OurClass() >>> obj.staticmethod() 'static method called'