python 装饰器

      装饰器可以理解成包礼物的过程,假设我买了一辆遥控车要送给孩子,然后精心包装。那么核心功能(遥控车)没有变化,而包装盒子可以用随意自己想要的,也叫语法糖。

      应用场景:装饰器能把一个核心函数保持功能不变而添加很多附属功能,比如打印日志,加测试代码,加一些共性的配置,一个函数可以用不同装饰器,一个装饰器也可以用于不同函数,空间还是蛮大的。

试试看

def decorator(func):
    def _wrap():
        return "deco1-" + func()
    return _wrap


def decorator2(func):
    def _wrap():
        return "deco2-" + func()
    return _wrap

@decorator
@decorator2
def func():
    return "hello, world!"

print func()

输出
>>>deco1-deco2-hello, world!
和闭包一样,只不过外面那层函数传入的是函数。

两个装饰器,相当于包了两层而已,并没有改变核心函数的任何功能。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值