이 기사의 예에서는 Python의 연산자 오버로딩 사용법을 설명합니다. 참고용으로 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
클래스는 Python 연산자를 오버로드할 수 있습니다.
연산자 오버로드는 객체를 다음과 동일하게 만듭니다. 내장된 것. __X__라는 메서드는 특수 후크이며 Python은 이 특수 이름 지정을 통해 연산자를 가로채서 오버로드를 달성합니다. Python은 연산자를 계산할 때 자동으로 이러한 메서드를 호출합니다. 예를 들어:
객체가 __add__ 메서드를 상속하는 경우 이 메서드는 + 표현식에 나타날 때 호출됩니다. 오버로드를 통해 사용자 정의 개체는 내장 개체처럼 동작합니다.
클래스의 연산자 오버로딩
1. 연산자 오버로딩을 사용하면 클래스가 표준 Python 작업을 가로챌 수 있습니다.
2. 클래스는 모든 Python 표현식 연산자를 오버로드할 수 있습니다.
3. 클래스는 객체 작업(인쇄, 함수 호출, 자격 등)을 오버로드할 수 있습니다.
4. 오버로딩은 클래스 인스턴스를 내장 인스턴스처럼 보이게 만듭니다.
5. 오버로딩은 특별히 명명된 클래스 메서드를 통해 구현됩니다.
메소드 이름의 연산 설명은 호출 표현식입니다. __nit__ 구성 함수 생성 객체: 클래스()
__ del__ 구조 함수가 객체를 해제할 때 __add__ "+" "+" x + y
__or__ "|" x | y
__repr__ 인쇄, 변환 🎜>__getattr__ 속성 참조 x.undefine
__getitem__ 인덱스 x[key ], for 루프, 테스트
__setitem__ 인덱스 할당 x[key] = value
__getslice__ 샤딩 len(x)
__cmp__ 비교 x == Y , x < y
__radd__ 연산자 "+ " 오른쪽 비인스턴스 + x
예:
__getitem__이 모든 인덱스를 가로챕니다. 작업
>>> class indexer: def __getitem__(self,index): return index ** 2 >>> x = indexer() >>> for i in range(5): print x[i] #x[i]将调用__getitem__(x,i) 0 1 4 9 16
에 대한 자세한 설명은 Python의 연산자 오버로딩 사용 분석 및 관련 기사는 PHP 중국어 웹 사이트를 주목하세요!