python3 코드에서 덧셈 재부팅을 실현하는 실례
Python은 작업자 재부팅을 지원합니다.'조작부호 재부팅'은 사실 간단한 개념입니다. 왜 Python이'+'조작부호를 사용하여 덧셈과 연결 문자열을 동시에 실현할 수 있는지 생각해 본 적이 있습니까?이것이 바로 조작부호가 다시 작용을 발휘하는 것이다.
Python 표준 조작부 기호를 사용하는 대상을 정의할 수 있습니다. 이것은 특정한 환경에서 특정한 대상을 사용할 수 있도록 합니다.
Python 연산자 재부팅 규칙:
내장 유형의 연산자를 다시 로드할 수 없습니다.
새로 만들 수 없습니다. 다시 불러올 수 있습니다.
일부 연산자는 --is, and, or 및 not를 다시 로드할 수 없습니다.
Python 연산은 실제적으로 대상을 호출하는 특수한 방법을 통해 이루어진다. 예를 들어 a+b:
a=20
b=30
c=a+b
d=a.__add__(b)
print("c:",c)
print("d:",c)
연산 결과:
c: 50
d: 50
Vector는 곱셈 재부팅과 유사합니다.
def __mul__(self, scalar):
if isinstance(scalar, numbers.Real):
return Vector(n * scalar for n in self)
else:
return NotImplemented
def __rmul__(self, scalar):
return self * scalar
여기서 우리 값은 벡터 곱하기 하나의 수의 곱셈을 정의합니다.점승을 시도하면 행렬 곱셈은 @ 기호에 분배됩니다. 우리도 이 정의를 하고 연산할 수 있습니다.
def __matmul__(self, other):
try:
return sum(a * b for a, b in zip(self, other))
except TypeError:
return NotImplemented
def __rmatmul__(self, other):
return self @ other # this only works in Python 3.5
조작 연산자를 빌려 다시 불러오면 우리는 덧셈의 연산을 실현할 수 있을 뿐만 아니라 곱셈도 마찬가지로 완성할 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Jupyter 공식 DockerHub에 대한 메모에 기재되어 있다. base-notebook minimal-notebook scipy-notebook tensorflow-notebook datascience-notebook pyspark-notebook all-s...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.