我如何定义一个装饰器decor
来完成这项工作?有很多关于这个的帖子,但我仍然没有找到解决方案。也许这是一个非常糟糕的主意。
示例 1,编写一个在应用装饰器之前中断的函数:
defaults = {'a': 1, 'b': 2}
@decor(defaults)
def f(x):
print(x, a, b)
示例 2:
defaults = {'a': 1, 'b': 2}
@decor(defaults)
def fun(x):
print(locals())
f(3)
应该给
{'b': 2, 'x': 3, 'a': 1}
或者更清楚一点,我希望装饰者修改签名,以便help(f)
给出
Help on function f in module __main__:
f(x, a=1, b=2)