2차원 벡터를 나타내기 위해 Vector 클래스를 생성했다고 가정하고 더하기 연산자를 사용하여 추가하면 어떻게 됩니까? 파이썬이 당신에게 소리칠 가능성이 높습니다.
그러나 클래스에서 __add__ 메서드를 정의하여 벡터 추가를 수행하면 더하기 연산자가 예상대로 작동합니다 -
예
#!/usr/bin/python class Vector: def __init__(self, a, b): self.a = a self.b = b def __str__(self): return 'Vector (%d, %d)' % (self.a, self.b) def __add__(self,other): return Vector(self.a + other.a, self.b + other.b) v1 = Vector(2,10) v2 = Vector(5,-2) print v1 + v2
출력
위의 코드가 실행되면 다음과 같은 결과가 생성됩니다 -
Vector(7,8)