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)