Python 에서 자주 사용 하 는 마법 방법 을 정리 합 니 다.
대응 하 는 마법 법
중국어 주석
+
__ add__(self, other)
덧셈
-
__ sub__(self, other)
감법
*
__ mul__(self, other)
곱셈
/
__ truediv__(self, other)
진 제법
//
__ floordiv__(self, other)
정수 나눗셈
%
__ mod__(self, other)
나머지 나 누 기
divmod(a, b)
__ divmod__(self, other)
나눗셈 과 나머지 연산 결 과 를 결합 하여 divmod(a,b)반환 값 은 원 그룹(a/b,a%b)입 니 다.
**
__ pow__(self, other[,modulo])
self 의 other 차방 에서 modulo 에 게 나머지 를 취하 다.
<<
__ lshift__(self, other)
자리 왼쪽으로 이동
>>
__ rshift__(self, other)
위치 에 따라 오른쪽으로 이동 하 다.
&
__ and__(self, other)
비트 와 조작
^
__ xor__(self, other)
비트 별 이동 또는 조작(같은 0,다른 1)
『20008』
__ or__(self, other)
비트 단위 또는 조작(1 은 1)
C
C
C
>>> type(len)
<class 'builtin_function_or_method'> # BIF
>>> type(int)
<class 'type'> # ( ), ,
>>> type(dir)
<class 'builtin_function_or_method'>
>>> type(list)
<class 'type'>
>>> a = int('123') # a
>>> b = int('345')
>>> a + b #python
468
>>> class New_int(int):
def __add__(self,other):
return int.__sub__(self,other)
def __sub__(self,other):
return int.__add__(self,other)
>>> a = New_int(3)
>>> b = New_int(5)
>>> a + b # , __add__(self,other)
-2
>>> a - b
8
>>>
2: ,
>>> class New_int(int):
def __add__(self,other):
return (self + other)
def __sub__(self,other):
return (self - other)
>>> class New_int(int):
def __add__(self,other):
return (int(self) + int(other)) # self other , __add__()
def __sub__(self,other):
return (int(self) - int(other))
>>> a = New_int(3)
>>> b = New_int(5)
>>> a + b
8
2.반 연산 과 관련 된 마법 방법정의.
__ radd__(self, other)
덧셈 을 정의 하 는 행동:+(왼쪽 동작 수가 해당 하 는 동작 을 지원 하지 않 을 때 호출 됨)
__ rsub__(self, other)
감법 을 정의 하 는 행위:-(왼쪽 동작 수가 해당 하 는 동작 을 지원 하지 않 을 때 호출 됨)
__ rmul__(self, other)
곱셈 을 정의 하 는 행위:*(왼쪽 동작 수가 해당 하 는 동작 을 지원 하지 않 을 때 호출 됨)
__ rtruediv__(self, other)
진짜 나눗셈 을 정의 하 는 행동:/(왼쪽 동작 수가 해당 하 는 동작 을 지원 하지 않 을 때 호출 됨)
__ rfloordiv__(self, other)
정수 나 누 기 를 정의 하 는 행위://(왼쪽 동작 수가 해당 하 는 동작 을 지원 하지 않 을 때 호출 됨)
__ rmod__(self, other)
모드 알고리즘 을 정의 하 는 행동:%(왼쪽 동작 수가 해당 하 는 동작 을 지원 하지 않 을 때 호출 됨)
__ rdivmod__(self, other)
divmod()가 호출 될 때의 행동 을 정의 합 니 다.(왼쪽 동작 수가 해당 하 는 동작 을 지원 하지 않 을 때 호출 됨)
__ rpow__(self, other)
power()에서 호출 되 거나**연산 되 었 을 때의 행동 을 정의 합 니 다(왼쪽 동작 수가 해당 하 는 동작 을 지원 하지 않 을 때 호출 됨)
__ rlshift__(self, other)
비트 왼쪽으로 이동 하 는 행 위 를 정의 합 니 다:<<(왼쪽 동작 수가 해당 하 는 동작 을 지원 하지 않 을 때 호출 됨)
__ rrshift__(self, other)
위치 에 따라 오른쪽으로 이동 하 는 행 위 를 정의 합 니 다:>(왼쪽 동작 수가 해당 하 는 동작 을 지원 하지 않 을 때 호출 됨)
__ rand__(self, other)
비트 와 동작 을 정의 하 는 행위:&(왼쪽 동작 수가 해당 하 는 동작 을 지원 하지 않 을 때 호출 됨)
__ rxor__(self, other)
비트 별 또는 동작 을 정의 합 니 다:^(왼쪽 동작 수가 해당 하 는 동작 을 지원 하지 않 을 때 호출 됨)
__ ror__(self, other)
비트 나 동작 을 정의 하 는 행위:20008℃(왼쪽 동작 수가 해당 하 는 동작 을 지원 하지 않 을 때 호출 됨)
C
C
>>> class int(int):
def __add__(self,other):
return int.__sub__(self,other)
>>> a = int(3)
>>> b = int(2)
>>> a + b
1
, 'r', __add__() __radd__()
>>> a + b
a ,b , a __add__() , python b __radd__()
:
>>> class Nint(int):
def __radd__(self,other):
return int.__sub__(self,other)
>>> a = Nint(5)
>>> b = Nint(3)
>>> a + b # a __add__() , b __radd__()
8
2:
>>> class Nint(int):
def __radd__(self,other):
return int.__sub__(self,other)
>>> b = Nint(5)
>>> 3 + b # 3 __add__() , b __radd__(self,other) , self b
2
eg:주:반 연산 마법 방법 을 다시 쓸 때 는 순서 문제 에 주의해 야 합 니 다.얻 은 것 은 마 이 너 스 였 어야 했 기 때문에 순서 가 바 뀌 었 다.3.증분 할당 연산
증분 할당 연산 의 마법 방법
마법 법
정의.
__ iadd__(self, other)
할당 덧셈 을 정의 하 는 행동:+=
__ isub__(self, other)
할당 감법 을 정의 하 는 행위:-=
__ imul__(self, other)
할당 곱셈 을 정의 하 는 행위:*=
__ itruediv__(self, other)
할당 참 나눗셈 을 정의 하 는 행위:/=
__ ifloordiv__(self, other)
할당 정수 나 누 기 를 정의 하 는 행위:/=
__ imod__(self, other)
할당 모드 알고리즘 을 정의 하 는 행위:%=
__ ipow__(self, other)
할당 멱 연산 을 정의 하 는 행위:**=
__ ilshift__(self, other)
값 을 비트 왼쪽으로 이동 하 는 행 위 를 정의 합 니 다:<=
__ irshift__(self, other)
위치 에 따라 오른쪽 으로 위 치 를 옮 기 는 행 위 를 정의 합 니 다:>=
__ iand__(self, other)
할당 의 위치 와 동작 을 정의 하 는 행위:&=
__ ixor__(self, other)
위치 에 따라 할당 하거나 동작 하 는 행 위 를 정의 합 니 다:^=
__ ior__(self, other)
할당 의 위치 나 동작 을 정의 하 는 행위:丨=
-
-
4.1 원 연산 자
4.567917.일원 조작 부호 의 마법 방법마법 법
정의.
__ neg__(self)
정 호 를 정의 하 는 행동:+x
__ pos__(self)
마이너스 행동 정의:-x
__ abs__(self)
abs()호출 시 행동 정의
__ invert__(self)
위치 에 따라 반대 하 는 행동 정의:~x
C
C
파 이 썬 이 자주 사용 하 는 마법 방법 을 정리 하 는 글 은 여기까지 입 니 다.파 이 썬 의 마법 방법 에 관 한 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.