定义装饰器,获取斐波拉契数列被调用时函数执行耗用的时间
def w1(func): def inner(*args,**kwargs): start = time.time() func(*args,**kwargs) end = time.time() cost = end - start print cost,"####" print func.func_name #获取被调用函数的名称 return inner @w1 def fib1(n): if n in [1,2]: return 1 else: return fib(n-1) +fib(n-2) fib1(30) 执行结果: 0.239000082016 #### fib1
测试结果显示:使用装饰器获取的时间比使用上下文所用的时间略微少一点;