2024-04-24 23:59:49 发布
网友
考虑这个例子:
x = a.some_class_instance x.foo()
我想装饰x.foo()
x.foo()
一些类似于
有什么办法吗? 谢谢:)
以下代码
@decorator def decoratee(): pass
只是简写
decorator只接受一个函数作为参数并返回一个新函数。在
您的示例代码将编译,并且根据x.foo所做的,实际上可以不出错地运行。但我很怀疑它能做你想做的事。我想你想要的是这样的:
def decorate(f): def decorated(): print 'decorator' f() return decorated x.foo = decorate(x.foo)
最简单的方法是:
x.foo = dec(x.foo)
另一种方法是扩展实例的类
但我看不出有什么好理由这么做。在
以下代码
只是简写
^{pr2}$decorator只接受一个函数作为参数并返回一个新函数。在
您的示例代码将编译,并且根据x.foo所做的,实际上可以不出错地运行。但我很怀疑它能做你想做的事。我想你想要的是这样的:
最简单的方法是:
另一种方法是扩展实例的类
^{pr2}$但我看不出有什么好理由这么做。在
相关问题 更多 >
编程相关推荐