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)