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