例子:
def lo(func0, *args0, **kwargs0): def _wrapper(func): def wrapper(*args, **kwargs): func(*args, **kwargs) func0(*args0, **kwargs0) return wrapper return _wrapper def f1(a): print a+1 @lo(f1, a) def f(a): print a f(1)
如何才能让装饰器lo调用函数f的参数a?
认证高级PHP讲师
你在干什么?装饰器调用里那个 a 没有定义啊。不太明白你想干什么,参见X-Y 问题。
a
你是想要这个么?
def lo(func0): def _wrapper(func): def wrapper(*args, **kwargs): func(*args, **kwargs) func0(*args, **kwargs) return wrapper return _wrapper def f1(a): print(a+1) @lo(f1) def f(a): print(a) f(1)
你在干什么?装饰器调用里那个
a
没有定义啊。不太明白你想干什么,参见X-Y 问题。你是想要这个么?