Python의 정적 메서드
Python 정적 메서드를 사용하면 객체가 필요하지 않고 클래스 인스턴스에서 직접 메서드를 호출할 수 있습니다. 이 구문은 특정 상황에서 유용할 수 있습니다.
클래스 인스턴스에서 정적 메서드를 호출할 수 있습니까?
예, 실제로 정적 메서드는 클래스 인스턴스에서 직접 호출할 수 있습니다. 예:
class MyClass: @staticmethod def the_static_method(x): print(x) MyClass.the_static_method(2) # outputs 2
정적 메서드를 정의하는 방법
Python은 @staticmethod 데코레이터를 사용하여 정적 메서드를 정의합니다.
class MyClass(object): @staticmethod def the_static_method(x): print(x)
정적의 레거시 사용 메서드
이전 Python 버전(2.2 및 2.3)에서는 정적 메서드 정의에 다른 구문을 사용했습니다.
class MyClass(object): def the_static_method(x): print(x) the_static_method = staticmethod(the_static_method)
정적 메서드를 드물게 사용하세요
정적 메서드는 일반적으로 필요하지 않고 불필요한 결과를 초래할 수 있으므로 Python에서는 신중하게 사용해야 합니다.
정적 메서드에 대한 Python 문서
공식 Python 문서에서는 정적 메서드를 다음과 같이 정의합니다.
"정적 메서드는 암시적 메서드를 수신하지 않습니다. 첫 번째 인수를 선언하려면 다음 관용구를 사용하세요."
class C: @staticmethod def f(arg1, arg2, ...): ...
"The @staticmethod 형식은 데코레이터 함수입니다. 클래스(예: C.f()) 또는 인스턴스(예: C().f())에서 호출할 수 있습니다. 해당 클래스 외에는 무시됩니다."
위 내용은 클래스 인스턴스에서 Python 정적 메서드를 호출할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!