mini-web框架-装饰器-总结2(5.3.2)

@

1.说明

多级装饰器嵌套
带参数的装饰器
这里打印print(index)
会在函数定义的时候@test(222)
就被调用,返回一个test2继续装饰

2.代码

def test(index):
    def test2(func):
        def return_(num,*args,**kwargs):
            print("test2")
            print("附加%d" % num)
            return  func(num,*args,**kwargs)

        return return_
    print(index)
    return test2

@test(222)
def orin(num,*args,**kwargs):
    print("原来%d" % num)
    for i in args:
        print(i)
    for i in kwargs:
        print(i,kwargs[i])
    return "最后我返回"

a = orin(200,100,500,nums=1000,w=2022)
print(a)

关于作者

个人博客网站
个人GitHub地址
个人公众号:
在这里插入图片描述

posted @ 2019-08-27 01:17  BothSavage  阅读(108)  评论(0编辑  收藏  举报