2017-11-22 6 views
0

어제 파이썬에서 연산자를 재정의 할 수 있다는 것을 알았습니다. 그래서 약간의 인터넷 검색 결과, 어떻게 발견되었지만 "="부호를 오버로딩 할 수는 없습니다. 거기에 __set __()하지만 내가 그것을 이해하고, 개체의 특성에 대한 기호 및 개체 자체에 대한 서명을 오버로드합니다.오버로드 = 연산자 in Python

F = Foo(1) 
G = Foo(2) 
F = G #overloaded = 

그래서 파이썬의 객체에 대해 "="오버로드의 방법이 :

은 무엇 내가 달성하고자하는 것은 이것이다? (그리고 그 함수가 무엇입니까?)

+0

아니요. 파이썬에서 할당 연산자를 오버로드 할 수 없습니다. https://docs.python.org/3/reference/datamodel.html#special-method-names – khelwood

+0

'='(할당)에 '=='(동일성 비교)를 오버로드하고 싶습니까? –

+0

어떤 경우에는 setter를 가진'property'가 그것을 할 수 있습니다. 그러나 "자유"변수가 아닌 객체 속성에서만 작동합니다. 'setattr()', 사전,'__dict__' 속성 ... –

답변

1

= 연산자를 오버로드 할 수 없습니다.

+0

그래, 답장을 보내 주셔서 감사합니다! – weirddan