python----多个装饰器装饰一个函数

本文探讨了Python中多个装饰器装饰一个函数的场景。通过示例代码展示了装饰器的执行顺序,遵循先进后出的规则,类似于队列操作。同时,通过类比圣诞树装饰品来帮助理解装饰器的执行顺序,强调了最后添加的装饰器先执行的原则。
摘要由CSDN通过智能技术生成

上篇文章说过了装饰器的基本语法格式及多参数时的情况。

在实际的工作中,还会出现多个装饰器装饰一个函数的情况。


代码如下:


# 多个装饰器装饰一个函数


def set_fun1(func):
    print("set_fun1已被定义")    # 打印用于验证在多个装饰器的情况下,多个装饰器之间的执行顺序
    def call_fun1(*args, **kwargs):
        print("call_fun1执行了")   # 当被装饰函数执行时,会打印
        return func()
    return call_fun1


def set_fun2(func):
    print("set_fun2已被定义")
    def call_fun2(*args, **kwargs):
        print("call_fun2执行了")
        return func()
    return call_fun2




# 装饰函数
@set_fun2
@set_fun1
def test():
    print("******如果你看出这是样样老师的装饰器样本,恭喜你找到组织了******")
    
    
test()


将上述代码运行之后,会有如下结果:


set_fun1已被定义
set_fun2已被定义
call_fun2执行

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值