방법 정적 메소드 및 클래스 구별 방법의 예로

 

클래스 A :
 #의 인스턴스있어서 
  DEF F1 (자기)
      . 1
 # 클래스 방법 : 
  @classmethod
   DEF F2 (CLS)
      2
 # 정적 메소드 
  @staticmethod
   DEF F3 () :
     리턴 . 3 = A () 
a.f1를 ( ) # =>. 1 
A.f1 (A) # =>. 1 
a.f2 () # => 2 
a.f2 () # => 2 
a.f3 () # =>. (3) 
a.f3 () # => 3
 
 
  • (또한 객체의 고유 동작을 설명하기 위해 사용 된 방법의 부재라고 함)의 예에있어서 오브젝트의 현재의 디폴트 인스턴스는 첫 번째 인수로서 건네
  • 분석법 클래스 (상기 방법에있어서의 클래스 정의가 추가되어야 @classmethod ) 첫번째 파라미터와 현재의 기본 클래스는 전달
  • 정적 메소드 (상단에 추가되어야하는 방법을 정의하는 정적 메소드 @staticmethod ) 첫번째 인수가 디폴트 없다

메소드 호출 형식의 예 :

  개체 이름. 메소드 이름 ()

메소드 호출 형식 :

  클래스 이름. 메소드 이름 (매개 변수) 권장되는 방법

  개체 이름. 메소드 이름 (인수)하지 않는 것이 좋습니다

참고 :

(1) 클래스의 메소드가 특정 오브젝트에 속하지 않는 동작 르 종류 정의되어, 모든 객체 거동 공통으로 사용될 수있다

(2) 클래스 메소드는, 인스턴스 메소드는 클래스 변수와 클래스 메소드의 사용을 허용 인스턴스 변수와 인스턴스 메소드에서 허용되지 않습니다, 호출 클래스 이름을 사용하는 것이 좋습니다

(3) 상기의 예는 클래스 변수 클래스 및 방법의 사용을 허용

정적 메서드 호출 형식 :

  클래스 이름. 메소드 이름 (인수) 권장

  개체 이름. 메소드 이름 (인수)하지 않는 것이 좋습니다

추천

출처www.cnblogs.com/maplethefox/p/11615190.html