私は下のクラス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