나는 아래 클래스 MyWrapper
에서 인스턴스 메서드 호출을 가로 챌 수있는 방법을 찾고 있어요 : 나는 모든 함수 호출 내 래퍼 클래스를 만들 요격 할인스턴스 메소드 호출을 인터셉트하는 방법은 무엇입니까?
class SomeClass1:
def a1(self):
self.internal_z()
return "a1"
def a2(self):
return "a2"
def internal_z(self):
return "z"
class SomeClass2(SomeClass1):
pass
class MyWrapper(SomeClass2):
# def INTERCEPT_ALL_FUNCTION_CALLS():
# result = Call_Original_Function()
# self.str += result
# return result
def __init__(self):
self.str = ''
def getFinalResult(self):
return self.str
x = MyWrapper()
x.a1()
x.a2()
. 래퍼 클래스에서 모든 결과 문자열을 추적하고 싶습니다.
result = x.getFinalResult()
print result == 'a1a2'
덕분에 많은 사건을 처리하는 것을 잊었다! 내가 원했던 것처럼 위대한 작품! :-) –
잘 알고 있습니다 - 여러분 환영합니다. 대답을 "수락"한 것으로 표시하십시오 :) – Shadikka