Python 클래스 방법 요약 설명

5336 단어 Python종류방법.
방법
클래스 에서 의 함 수 를 클래스 방법 이 라 고 합 니 다.일반 함수 정의 와 약간의 차이 가 있다.
1.일반적인 방법
1.1 일반적인 방법 정의
일반 방법 과 일반 함수 의 정의 가 약간 다른 점 은 첫 번 째 매개 변 수 는 self 이 고 대 체 는 인 스 턴 스 대상 자 체 를 가리킨다.다음 그림 과 같이 정의 합 니 다.

class Person:
    def __init__(self,name,age):
        # name=     name,age=     age
        self.name=name
        self.age=age
1.2 일반 방법 호출
함수 의 호출 은 함수 명()이 고 클래스 의 방법 호출 은?
클래스 방법 호출 은 반드시 대상 을 빌려 야 한다.호출 방식:대상.방법 명().
클래스 이름 을 직접 사용 할 수 없습니다.방법 명()은 앞에서 말 했 듯 이 클래스 의 방법 첫 번 째 매개 변 수 는 self 이 고 인 스 턴 스 대상 자 체 를 대표 하기 때문에 클래스 는 일반 방법 을 직접 호출 할 수 없습니다.

#     cat
 cat=Animals()
#        run
cat.run()
클래스 이름 을 사용 하면 방법 이름 이 나타 납 니 다:TypeError:run()missing 1 required positional argument:'self',인 자 를 잃 어 버 립 니 다.

그러나 실제로 우 리 는 대상 을 다시 사용한다.방법 명()을 사용 할 때 도 self 를 가지 고 있 지 않 았 지만 인 자 를 잃 어 버 렸 다 고 보고 하지 않 았 다.
원인:우리 가 대상 을 예화 할 때,즉 cat=Animal()이 실 행 될 때 cat 의 주 소 를 self 에 전 달 했 습 니 다.이때 self 는 cat 를 가 리 킵 니 다.
2.마술 방법
2.1 마술 방법의 정의
앞의 일반적인 방법 은 대상 명 이 필요 합 니 다.방법 명()을 호출 하 는 것 입 니 다.우리 의 마술 방법 은 비교적 특수 합 니 다.그 는 특수 한 시간 에 자동 으로 촉발 합 니 다.즉,호출 할 필요 가 없습니다.
2.2 흔히 볼 수 있 는 마술 방법
__init__(self,[매개 변수 이름])
대상 생 성 시 자동 호출 방법
__str__(self,[매개 변수 이름])
함수 에 반환 값 이 있 습 니 다.대상 이름 을 인쇄 할 때 자동 으로 호출 됩 니 다.
__del__(self)
인용 삭제 시 자동 호출
__call__(elf,[매개 변수 이름])
실행 대상 이름()시 자동 호출 즉 대상 을 함수 로 사용 합 니 다.
 
위의 그림 을 보면 우 리 는 cat 대상 을 만 들 었 을 뿐 호출init__방법 은 방법 에 있 는 방법 체 를 실 행 했 습 니 다.대상 을 만 들 때 python 이 자동 으로 작 동 하기 때 문 입 니 다.
__init__방법 은 어떤 작용 이 있 습 니까?
클래스 를 정의 할 때 속성 과 방법 을 정의 해 야 합 니 다.속성 은 클래스 의 특징 이 고 방법 은 할 수 있 는 일 입 니 다.
모든 사람 은 이름과 나이 가 있 기 때문에 우 리 는 하나의 Person 류 를 정의 하고 두 개의 속성 이름과 나 이 를 가 져 야 한다.
하면,만약,만약...

class Person():
   name='jimi'
   age=12
   def run(self):
     print('run')
person1=Person()
person2=Person()
그렇다면 person 1 과 person 2 대상 은 Person 의 속성 을 가지 고 있 지만 지금 은 두 사람의 속성 이 같 지만 모든 사람의 특징 에 부합 되 지 않 습 니까?모든 사람의 이름과 나이 가 일치 하지 않 는 다.그럼 어떻게 하면 대상 의 다른 속성 치 를 만 들 수 있 습 니까?여 기 는init__

class Person:
    def __init__(self,name,age):
        # name=     name,age=     age
        self.name=name
        self.age=age
 
person1=Person('meimei',12)
#   person1    meimei 12
print(person1.name,person1.age)
person2=Person('john',13)
# #   person1    john 13
print(person2.name,person2.age)
__str__굼벵이 의<운 규 의 곤경 에 처 한 기도 편액 인 환 어 를 쓰 는 것 이 므 로str__return 문구 가 있 습 니 다.하면,만약,만약...str__인쇄 대상,대상 은 주소 입 니 다.

class Person:
    def __init__(self,name,age):
        # name=     name,age=     age
        self.name=name
        self.age=age
    # def __str__(self):
    #     return '  name:{},  age:{}'.format(self.name,self.age)
 
person1=Person('meimei',12)  #    <__main__.Person object at 0x0000025C1F932C50>
print(person1)

3.유형 방법
3.1 클래스 방법 정의

class Person:
    def __init__(self,name,age):
        # name=     name,age=     age
        self.name=name
        self.age=age
    # def __str__(self,*krg,**krgs):
    #     return '  name:{},  age:{}'.format(self.name,self.age)
    #   
    @classmethod
    def test1(cls):
        print('     ')
방법 전에 장식 기@classmethod 로 수식 합 니 다.첫 번 째 매개 변 수 는 cls 대표 클래스 입 니 다.
클래스 방법 특징:클래스 방법 에 서 는 일반 방법 을 사용 할 수 없습니다.
3.2 유형 방법 호출
  • 대상 명.방법 명()
  • 방법 명()4.정적 방법
    4.1 정적 방법 정의
    
    class Person:
        def __init__(self,name,age):
            # name=     name,age=     age
            self.name=name
            self.age=age
        # def __str__(self):
        #     return '  name:{},  age:{}'.format(self.name,self.age)
        def run(self):
            Person.test1()
            Person.test()
            print('  run')
        @classmethod
        def test1(cls):
            print('     ')
        @staticmethod
        def test(*krgs):
            Person.test1()
            print('      ')
    정적 방법 은 장식 기@staticmethod 로 수식 하고 cls,self 인자 가 없습니다.
    4.2 정적 방법 호출
    대상 이름.정적 방법 이름()
    클래스 이름.정적 방법 이름()
    총화
    일반 방법 중:
    4
  • 일반 방법 을 사용 할 수 있 고 self.방법 명()
  • 정적 방법 을 호출 할 수 있 고 유형 명 을 사용 할 수 있 습 니 다.방법 명()
  • 클래스 방법 을 사용 할 수 있 습 니 다.클래스 이름,방법 명()
  • 정적 방법:
    일반 방법 을 사용 할 수 없습니다.
  • 호출 가능 한 유형 방법,유형 명.방법 명()
  • 정적 방법,유형 명 을 호출 할 수 있 습 니 다.방법 명()
  • 클래스 방법:
    일반 방법 을 사용 할 수 없습니다.
  • 호출 가능 한 유형 방법,유형 명.방법 명()
  • 정적 방법,유형 명 을 호출 할 수 있 습 니 다.방법 명()
  • 파 이 썬 류 방법 에 대한 설명 을 정리 하 는 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 파 이 썬 류 방법 에 대한 정 리 는 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

    좋은 웹페이지 즐겨찾기