Python—手动包装一个方法(特别是,我询问robert kern的line profiler)
包装函数没有问题: 然而,我似乎无法理解的是,将同样的技术应用于方法 假设我尝试在方法上使用相同的技术:Python—手动包装一个方法(特别是,我询问robert kern的line profiler),python,python-3.x,methods,wrapper,line-profiler,Python,Python 3.x,Methods,Wrapper,Line Profiler,包装函数没有问题: 然而,我似乎无法理解的是,将同样的技术应用于方法 假设我尝试在方法上使用相同的技术: class Foo: def method(self): return 1 obj = Foo() lp = LineProfiler() lp_wrapper = lp(method) obj.lp_wrapper() # Causes an error since Foo does not have a method called "lp_wrapper"
class Foo:
def method(self):
return 1
obj = Foo()
lp = LineProfiler()
lp_wrapper = lp(method)
obj.lp_wrapper() # Causes an error since Foo does not have a method called "lp_wrapper"
修复此错误的最佳方法是什么?谢谢 最好的答案来自schwobaseggl:“你试过
lp_wrapper=lp(obj.method)
”
事实证明,这就是包装方法的方式 你试过了吗?我爱你。就是这样。@Aaron,所以您不应该添加“已解决”或“类似”来表示您已经解决了问题,只需发布您已经完成的响应并将其标记为正确即可。我建议你检查一下:)
class Foo:
def method(self):
return 1
obj = Foo()
lp = LineProfiler()
lp_wrapper = lp(method)
obj.lp_wrapper() # Causes an error since Foo does not have a method called "lp_wrapper"