请问Python带参数装饰器,如何调用该函数中参数部分,python函数,例子:def lo(fu


例子:

def lo(func0, *args0, **kwargs0):    def _wrapper(func):        def wrapper(*args, **kwargs):            func(*args, **kwargs)            func0(*args0, **kwargs0)        return wrapper    return _wrapperdef f1(a):    print a+1@lo(f1, a)def f(a):    print af(1)

如何才能让装饰器lo调用函数f的参数a?
Python中的带参数装饰器可以调用被装饰的函数中的参数不(除了全局变量)

你在干什么?装饰器调用里那个 a 没有定义啊。不太明白你想干什么,参见X-Y 问题。

你是想要这个么?

def lo(func0):    def _wrapper(func):        def wrapper(*args, **kwargs):            func(*args, **kwargs)            func0(*args, **kwargs)        return wrapper    return _wrapperdef f1(a):    print(a+1)@lo(f1)def f(a):    print(a)f(1)

编橙之家文章,

评论关闭