Python 学习笔记之装饰器

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()



你可能感兴趣的:(python,Decorator)