问题描述
让 f 成为一个函数。
在 f 的简单装饰中,f 被替换为 wrapper(f)。
如果我想保留原来的 f(和)怎么办
定义一个新函数 g s.t. g = 包装器(f)
即我不仅要包装(f),还要保留 f 本身。
我可以使用@ 表示法吗?
提前致谢!
解决方法
根据装饰器的定义,这段代码:
@wrapper
def f():
...
本质上等同于:
def f():
...
f = wrapper(f)
这意味着:
def f():
...
g = wrapper(f)
会做你想做的事。