클래스의 캐럿 동작을 재정의해야하지만 어떤 연산자 오버로드가 적용되는지 잘 모르겠습니다. 나는 동작을 제어 할 수 있도록어떻게 파이썬에서 캐럿 (^) 연산자를 오버로드합니까?
TypeError: unsupported operand type(s) for ^: 'instance' and 'instance'
가 어떻게 클래스를 만들 수 있습니다와
class A:
def __init__(self, f):
self.f = f
def __caret__(self, other):
return self.f^other.f
print A(1)^A(2)
이 코드 오류 : 예를 들면?
RTFD http://docs.python.org/reference/datamodel.html#emulating-numeric-types 난 당신이 당신은 항상 사용해야 파이썬 2를 사용하고 참조 –
'클래스
A (객체) :'클래스 A :'대신. 구식 클래스는 절대로 사용해서는 안됩니다. –
왜 이런가요? 객체로부터 상속받지 않는 단점은 무엇입니까? – ninhenzo64