중국어 설명:
classmethod는 클래스 메서드를 클래스 메서드로 지정하는 데 사용됩니다. 이 매개변수 없이 지정된 클래스의 메서드는 인스턴스 메서드입니다.
class C: @classmethod def f(cls, arg1, arg2, ...): ...
클래스 메서드 직접 클래스 호출(C.f()) 또는 인스턴스 호출(C().f())을 만들 수 있습니다.
Version: python2.2의 새로운 기능, python2.4에 새로운 기능이 추가되었습니다. Python3에서는 계속 사용할 수 있습니다.
한국어 설명:
함수에 대한 클래스 메서드를 반환합니다.
인스턴스 메서드가 인스턴스를 받는 것처럼 클래스 메서드는 클래스를 암시적 첫 번째 인수로 받습니다. 클래스 메서드를 선언하려면 다음 관용어를 사용하세요.
class C: @classmethod def f(cls, arg1, arg2, ...): ...
@classmethod 형식은 함수 데코레이터입니다. 자세한 내용은 함수 정의의 함수 정의에 대한 설명을 참조하세요.
클래스(예: C.f()) 또는 인스턴스(예: C()에서 호출할 수 있습니다. f()) 클래스를 제외한 인스턴스는 무시됩니다. 파생 클래스에 대해 클래스 메서드가 호출되면 파생 클래스 개체가 암시된 첫 번째 인수로 전달됩니다.
클래스 메서드는 C++ 또는 Java 정적 메서드와 다릅니다. 원하는 경우 이 섹션의 staticmethod()를 참조하세요.
클래스 메서드에 대한 자세한 내용은 표준 유형 계층 구조의 표준 유형 계층 구조에 대한 문서를 참조하세요.
버전 2.2의 새로운 기능
버전 변경 2.4: 함수 데코레이터 구문이 추가되었습니다.
코드 예:
>>> class C: ... @classmethod ... def f(self): ... print "This is a class method" ... >>> C.f() This is a class method >>> c = C() >>> c.f() This is a class method >>> class D: ... def f(self): ... print " This is not a class method " ... >>> D.f() Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unbound method f() must be called with D instance as first argument (got nothing instead) >>> d = D() >>> d.f() This is not a class method
위 내용은 파이썬 함수 클래스 메소드()의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!