는 지금까지파이썬에서 메서드 개체의 __call__ 메서드를 재정의하려면 어떻게해야합니까? 여기
def f(n):
return n
f.__call__ = lambda n: n + 1
print f(2) #I expect an output of 3 but get an output of 2
함께 일하고 내가 원하는 출력을 달성하기 위해 다른 방법에 관심이 아니다 것입니다. 오히려 교육 목적으로, 제가 한 것처럼 __call__
을 무시하는 것이 왜 기대했던대로 작동하지 않는지 알고 싶습니다.
@SethMMorton :'dir (f)'를 실행하여 이들이 있는지 확인하십시오. – Tadeck
관련 : http://stackoverflow.com/questions/9707600/python-functions-the-the-call-attribute – Jared