모든 python 클래스에는 인스턴스 메서드, 클래스 메서드 및 정적 메서드와 같은 세 가지 유형의 메서드가 있습니다.
예시
코드 고려
class OurClass:def method(self):return 'instance method invoke', self @classmethod def classmethod(cls):return 'class method invoke', cls @staticmethod def staticmethod():return 'static method 호출'사전>세 번째 메서드인 OurClass.staticmethod는 @staticmethod 데코레이터로 표시되어 정적 메서드로 표시됩니다.
이 유형의 메소드는 self 또는 cls 매개변수를 사용하지 않지만 임의의 수의 다른 매개변수를 허용할 수 있습니다.
따라서 정적 메서드는 개체 상태나 클래스 상태를 수정할 수 없습니다. 정적 메서드는 액세스할 수 있는 데이터가 제한되어 있으며 주로 메서드의 이름을 지정하는 방법입니다. 위의 코드에서 다음과 같이 staticmethod를 호출할 수 있습니다.
>>> obj =OurClass()>>> obj.staticmethod() '정적 메서드 호출'