Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีการแบบคงที่ในคลาส Python คืออะไร?


คลาส 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'