파이썬 정적 메서드와 클래스 메소드, 장식

첫째, 정적 메서드와 클래스 메소드

1. 정적 전화 : @staticmethod

클래스 A (객체) : 
    @staticmethod 
    데프 () : 
        인쇄 ( 'A') 
금주 모임을 ()

  당신은 클래스의 비 클래스 멤버의 존재를해야하는 경우 정적 메소드 호출을 사용할 수 있습니다

2. 예

면적 계산 @staticmethod으로 : 경우, 입력이, 사각형의 네면인지 여부를 판정한다

ZFX 클래스 (객체) 
    DEF __init __ (자기, A, B, C, D) 
        self.a = A 
        self.b = B 
        self.c = C 
        self.d = D 
    @staticmethod 
    DEF is_valid (A, B, C , d) : 
        [B, C, D] I에 대해 : 
            만약 = A! 
                거짓 돌아가 
        다른 : 
            True를 반환 
    
    DEF 영역 (자기) 
        입술 == 경우 true를 
            용제동 = self.a * self.b의 
            복귀 용제동 

FX = ZFX (5,5,5,5) 
고해상도 = fx.is_valid (5,5,5,5) 
fx.area () 
고해상도 경우 == 사실 : 
    인쇄 (fx.area ())

  

3. 수업 방법

(1) 기본값 :

DEF A (BL = '안녕하세요') 
    인쇄 (BL) 
A ()

  출력은 안녕하세요

(2) cocaltime

# 라이브러리를 호출의 현지 : 
가져 오기 시간 시간에서의 현지, 절전 
인쇄 (시간 ())

  타임 스탬프 년 1 월 1 일부터 초 1970 00.00.00 번호는 지금 경험 시작

(3) @classmethod

@classmethod : 클래스 자체 (CLS)의 속성을 가져 와서 변경 될 수 있습니다.
classmethod 수정은 해당 기능, 아니 자기 매개 변수를 인스턴스화 할 필요는 없지만, 첫 번째 매개 변수 자체가 클래스를 호출 할 수 CLS 필수 매개 변수입니다 클래스, 클래스 메소드, 인스턴스 다른 개체 속성

 

관계 클래스 4 클래스 사이에 (유전)

(1) 제 1 단계는 클래스 상속 된 클래스의 이름을 쓰는 것이다

(2) 클래스 명 (클래스 명) 제안 __ 초기화 __ (자기)하십시오 .__ 초기화 __ (자체)

(3) 예 : 하위 클래스, 부모와 두 숫자 계산 sum_를 만드는 부모 클래스를 만들고,이 서브 클래스 sum_를 인쇄

푸 클래스 (객체) 
    DEF __init __ (자기) 
        self.a = 10 
        self.b = 20 
    DEF sum_ (자기) 
        합계 = self.a + self.b 
        리턴 합 
클래스 ZI (푸) 
    DEF __init __ (자기) : 
        푸 .__ INIT __ (자기) 
    데프 PRINT (자기) 
        입술 self.sum_ = () 
        인쇄 (해상도) 
B = ZI () 
b.PRINT ()

  출력 : 30

리스트 및리스트 생성 부 수식

#리스트 화학식 
A = [X X 대 범위 (100)] 
    인쇄 (A) 
#리스트 생성기 
A = (X 범위에 대한 X (100)) 
    프린트 (A)

  장점과 단점 작성기 목록 작성기 유형을 나열합니다 :

(1) 식 :

장점 : 빠른 계산, 메모리에로드 된 모든 시간을 가지고, 데이터 볼륨이 경우 10000-2000- 너무 크지 않은
단점 : 메모리

(2) 발전기 :

장점 : 메모리 저장
단점 : 느린 계산을 생성하기로

둘째, 장식

 

1. 장식 사용

도보 장식 기능을 이동

실시 예 2. 장식 세 가지 기능, 두 개의 매개 변수의 장식이 두 파라미터의 처리, 이들 두 파라미터의 인쇄 기능을 각각 만들

조커 DEF (FUNC) 

DEF 워프 (N1, N2, N3) : 

NUM = N1 + N2 

복귀 FUNC (0, NUM, N3) 

복귀 워프 



* 데코 처음 두 자릿수를 합산, 제 함수 자체 세 개의 파라미터와 곱하여 * 

@Joker 

DEF SUM (NUM1, NUM2, num3) 

인쇄 (NUM1, NUM2, num3) 

인쇄 (NUM2 *의 num3) 



SUM (10,2,3)

  

추천

출처www.cnblogs.com/baoleiiwa/p/11322718.html