Python 学习笔记之装饰器

本文介绍了Python中的装饰器概念及其使用方法。通过一个具体示例展示了如何利用装饰器为函数增加额外的功能,同时保持原有函数的调用方式不变。示例中定义了一个名为log的装饰器,用于记录被装饰函数的调用情况。
1,装饰器(decorator)
python里一个被包裹或被装饰的函数(对象)通常会被重新赋值给原来的名字,这样被裹的函数能和普通的版本保持兼容。
实例:
@deco
def foo():
   pass


在这个例中,deco就是一个"装饰"了foo函数的装饰函数。它先将deco函数拿过来,加上一些额外的功能重新赋值给foo。
@deco和下面的代码等价
foo=deco(foo)
下面的实例描述了函数调用
def log(func):
    def wrappedFunc():
        print "*** %s() called"% func.__name__
        return func()
@log
def foo():
    print "Inside foo()"


代码的执行效果如下:
>>>foo ()
*** foo() called
inside foo()



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值