多个装饰器装饰一个函数

 

def wrapper1(func):
    def inner1(*args, **kwargs):
        print("wrapper1 装饰函数前 可以做一些事 ")
        ret = func(*args, **kwargs)
        print("wrapper1 装饰函数后 可以做一些事 ")
        return ret
    return inner1


def wrapper2(func):
    def inner2(*args, **kwargs):
        print("wrapper2 装饰函数前 可以做一些事 ")
        ret = func(*args, **kwargs)
        print("wrapper2 装饰函数前 可以做一些事 ")
        return ret
    return inner2


@wrapper2
@wrapper1
def func():
    print("我是函数,我被两个装饰器装饰")
    return "函数 返回值"


ret = func()
print(ret)

wrapper2 装饰函数前 可以做一些事
wrapper1 装饰函数前 可以做一些事
我是函数,我被两个装饰器装饰
wrapper1 装饰函数后 可以做一些事
wrapper2 装饰函数前 可以做一些事
函数 返回值

 

posted @ 2020-05-05 14:34  CherryYang  阅读(337)  评论(0)    收藏  举报