4
안녕하세요 Python에서 대칭 연산자를 재정의하는 방법이 있는지 궁금합니다. Python commutative operator override
class A:
def __init__(self, value):
self.value = value
def __add__(self, other):
if isinstance(other, self.__class__):
return self.value + other.value
else:
return self.value + other
그럼 내가 할 수있는 :
a = A(1)
a + 1
을하지만 시도하는 경우 : 예를 들어, 내가 클래스가 있다고 가정 해 보자
1 + a
나는 오류가 발생합니다. 연산자를 무시하는 방법이 있습니까 을 추가하면 1 + a가 작동합니까?
당신이 할 수없는 것은'int .__ add__ = something'입니다. 이것은 읽기 전용입니다. –
이것은 int의 add 연산자를 재정의하는 방법입니다. 나는 그것을하고 싶지 않다. 내 수업 만 확장하고 싶습니다. –