装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。
#计时器装饰器
def fn_timer(function):
import time
def function_timer(*args, **kwargs):
t0 = time.time()
result = function(*args, **kwargs)
t1 = time.time()
print ("Total Time:{:.2f}".format(t1-t0))
return result
return function_timer
使用装饰器的时候,在需要装饰的函数前增加@fn_timer即可。
result = function(*args, **kwargs)
#此处的function,为需要装饰的函数,也就是原来的函数
return result
#此处result可以返回一个值出去,此处的值,为函数本身的返回值