【发布时间】:2011-06-11 01:22:45
【问题描述】:
我正在寻找一种方法来拦截下面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'
【问题讨论】:
标签: python function call instance getattr