Python 의 정적 방법 과 클래스 구성원 방법 을 자세히 설명 합 니 다.

머리말
파 이 썬 의 수준 은 현재 사용 가능 한 단계 에 있 기 때문에 평소에 쓰 는 스 크 립 트 에 사용 되 는 파 이 썬 의 쓰기 도 비교적 간단 하고 조금 큰 항목 을 쓴 적 이 없다.Python 의 클래스,클래스 간 의 조직 관계,전체 프로젝트 의 클래스 간 의 결합 에 대한 인식 이 부족 합 니 다.다른 사람 이 쓴 Python 코드 를 읽 고 Python 이 프로젝트 에서 의 응용 을 배 워 서 자신의 기술 수준 을 향상 시 킬 계획 입 니 다.선택 한 Python 코드 는 Python 파충류 코드,github 주소 입 니 다.이 코드 는 나의 편안 한 지역 에서 뛰 어 내 리 는 수준 에 맞 는 코드 이기 때문에 현재 의 수준 으로 공부 하기에 매우 적합 하 다.
Python 2.4 이후 에는 주로 장식 기 를 사용 하여 정적 방법 과 클래스 방법 을 실현 합 니 다.
장식 기 는@조작 자 를 사용 합 니 다.예 는 다음 과 같 습 니 다.

class Example:
 val1 = "Value 1"
 def __init__(self):
 self.val2 = "Value 2"

 @staticmethod
 def staticmd():
 print("    ,    Value1 Value2")

 @classmethod
 def classmd(cls):
 print('   , :'+str(cls)+",val1:"+cls.val1+",    val2  ")


example = Example()
example.staticmd() #        ,        val1 val2
example.classmd() #       ,    :   , :<class '__main__.Example'>,val1:Value 1,    val2  
Example.classmd() #      ,    :   , :<class '__main__.Example'>,val1:Value 1,    val2  
example.val1 = "The instance value1 changed"
example.classmd() #      ,    :   , :<class '__main__.Example'>,val1:Value 1,    val2  
Example.val1 = "The class value2 changed"
example.classmd() #      ,    :   , :<class '__main__.Example'>,val1:The class value2 changed,    val2  
Example.classmd() #      ,    :   , :<class '__main__.Example'>,val1:The class value2 changed,    val2  
위의 예 에서 정적 방법 과 유형 방법의 차 이 를 뚜렷하게 구분 할 수 있 을 것 이 라 고 믿는다.
먼저 문법 상의 차이 점:
  • 정적 방법 은 self 매개 변 수 를 입력 할 필요 가 없고,클래스 구성원 방법 은 본 클래스 를 대표 하 는 cls 매개 변 수 를 입력 해 야 한다.
  • 정적 방법 은 인 스 턴 스 변수 와 클래스 변 수 를 방문 해도 무방 합 니 다.클래스 구성원 방법 은 인 스 턴 스 변 수 를 방문 할 수 없 지만 클래스 변 수 를 방문 할 수 있 습 니 다
  • 사용 한 차이 점:
    정적 방법 으로 클래스 속성,인 스 턴 스 속성 에 접근 할 수 없 기 때문에 상대 적 으로 독립 된 방법 에 해당 하 며 클래스 와 아무런 관계 가 없습니다.이렇게 말 하면 정적 방법 은 클래스 의 역할 영역 에서 의 함수 일 뿐이다.
    총결산
    자,이상 이 이 글 의 모든 내용 입 니 다.마지막 으로 실제 프로젝트 에서 정적 방법 과 유형 방법 을 어떻게 사용 하 는 지 등 한 동안 더 깊 은 경험 을 가지 고 여러분 과 교류 하 겠 습 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.

    좋은 웹페이지 즐겨찾기