python装饰器应用顺序

python装饰器解释:
如果通过@语法使用多个装饰器,就需要按照自底向上的顺序来应用它们,首先创建函数,然后立即使用装饰器将其封装起来:
(借用一篇代码来做分析 http://lib.youkuaiyun.com/article/python/62942 (如果打不开就复制url在浏览器打开))

def dec1(func):  
    print("1111")  
    def one():  
        print("2222")  
        func()  
        print("3333")  
    return one  

def dec2(func):  
    print("aaaa")  
    def two():  
        print("bbbb")  
        func()  
        print("cccc")  
    return two 

@dec1  
@dec2  
def test():  
    print("test test") 
输出:
aaaa  
1111
2222  
bbbb  
test test  
cccc  
3333

首先发生的是由解释器创建test()函数,然后向上应用dec2装饰器。该函数返回了一个可调用函数,该函数被发送给dec1装饰器,同理,dec1也做了同样的事情,接下来结果被赋给test函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值