python 装饰器

什么是装饰器?
在代码运行的过程动态的添加功能的方式,我们叫做“装饰器”。使得代码复用,提高开发效率,应用场景:打印日志、性能测试等等。

实例:
先定义一个装饰器函数,接收一个函数为参数:

def dec(func):
    def log(*args, **kwargs):
        print "这句话是装饰器函数输出的!"
        func(*args, **kwargs)
    return log

利用python的@语法糖装饰我们的函数

@dec
def get_sum(a, b):
    print a+b

get_sum(2,5)

输出:

我的上面是装饰器函数输出的!
5

带参数的装饰器函数
其实就是多嵌套了一层函数,接收参数,还是用刚刚的例子:

def dec(text):
     def add(func):
         def log(*args, **kwargs):^M
             print "这句话是装饰器函数输出的!" + "\n" + text
             func(*args, **kwargs)^M
         return log
     return add
@dec("嵌套的我都晕了!")
def get_sum(a, b):
    print a+b

get_sum(2,5)

输出:

这句话是装饰器函数输出的!
嵌套的我都晕了!
5
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值