将函数的返回值传递给装饰器

时间:2017-10-09 10:56:27

标签: python python-2.7 python-3.x

我对装饰者比较陌生。

我的疑问是,我们可以将函数的返回值传递给装饰器函数。添加伪代码

@dec(a = x)
def fun():
    x = 25
    return x
# My decorator function
def dec(a = x)
    print a

1 个答案:

答案 0 :(得分:0)

我猜你正试图做那样的事情:

# My decorator function
def dec(func):
    def func_wrapper(a):
        print (a, " :Decorator value a")
        return func(a)
    return func_wrapper

@dec
def func(a):
    x = 25
    print(x, " :Function value x")
    return x


func(5)
# Output:
#  5  :Decorator value a
#  25  :Function value x