python3 코드에서 덧셈 재부팅을 실현하는 실례

1567 단어 python3덧셈
우리는 숫자의 총계를 알고 싶다. +를 통해서만 실현할 수 있다. 이것은 우리가 문제를 풀 때 자주 사용하는 기호이다.그러나python에서는 직접 사용할 수 없습니다. 코드나 함수를 빌려 대상의 추가를 도와야 합니다.그렇다면 덧셈을 실현하려면 무엇을 써야 합니까?편집자는 여기서 모두에게 조작부호를 다시 불러오는 것을 이야기하는데, 아마도 어떤 사람들은 이 긴 단어가 비교적 낯설다는 것을 들었을 것이다. 우리는 계속 깊이 있게 공부할 것이다.
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
조작 연산자를 빌려 다시 불러오면 우리는 덧셈의 연산을 실현할 수 있을 뿐만 아니라 곱셈도 마찬가지로 완성할 수 있다.

좋은 웹페이지 즐겨찾기