mini-web框架-装饰器-总结1(5.3.1)

1.说明

原则:开放封闭
可以扩展,但是不可以修改。也就是说软件对扩展开放,对修改关闭。
运用技术:闭包
一共两种方法,一个使用闭包,一个使用类
使用多个装饰器是从上到下

2.代码


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

    return return_

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

    return return_


class Test3(object):
    def __init__(self,func):
        self.func = func
        pass
    def __call__(self, name,*args, **kwargs):
        print("Test3")
        self.func(name,*args, **kwargs)


@Test3
@test2
@test1
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地址
个人公众号:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值