1.不改变函数内部源代码
2.不改变调用方式
以下例子为计算出一个程序运行的时间
需要运用到 高阶函数+函数嵌套+闭包
#不带参数的
import time def timee(func): def timee_2(): star_time = time.time() s = func() stop_time = time.time() print("运行时间为:%s"%(stop_time-star_time)) return s return timee_2 @timee def test(): return (sum(range(1000000))) s = test() print(s)
#带参数 i = 55555555 import time def timee(func): def timee_2(*args,**kwargs): star_time = time.time() s = func(*args,**kwargs) stop_time = time.time() print("运行时间为:%s"%(stop_time-star_time)) return s return timee_2 @timee def test(i): return (sum(range(i))) s = test(i) print(s)