一、装饰器的定义
装饰器实际上就是一个使用特定的操作来处理 函数的函数。也就是说,他的本身是一个函数,他的参数也是一个函数。
主要是将一些经常使用的代码 提取出来,以达到重用的目的。
经常用来引入日志,增加计时逻辑用来检测性能,或者是给函数加入事务能力。
他的使用是在被装饰的函数面前加上:
@decorator
这里的 decorator 就是装饰器函数
他需要在其他的地方进行函数的定义。
二、装饰器实例:
def tsfunc(func):
def prinfun():
print '[%s] called' % prinfun.__name__
return func
return prinfun
@tsfunc
def fun():
print '[%s] called' % fun.__name__
其中,fun 是被修饰的函数,tsfunc是装饰器。
如果在代码的其他部分执行fun函数则会首先输出 :
prinfun called
然后输出:
fun called