【发布时间】:2011-07-20 15:31:09
【问题描述】:
我正在尝试将here 描述的计时装饰器应用于类中的方法而不是独立方法。这应该怎么做?
我收到此错误:
TypeError:必须使用 SomeClass 实例调用未绑定的方法 wrapper() 第一个参数(取而代之的是浮动实例)【问题讨论】:
-
你试过了吗?一样的。函数和方法没有区别。
-
@agf: 不幸的是,有 不同,虽然它不是由函数/方法本身引起的,而是由于类拒绝将非函数转换为实例方法(带有描述符和东西)。但它不应该在这里应用,因为实际的包装器本身就是函数。
-
@delnan 我不确定我是否理解。你是说如果装饰器返回的不是函数,它就不起作用?
-
@agf:是的。参见例如stackoverflow.com/questions/1677747/…