装饰器就是给原理的函数添加新的功能,用到了闭包
#需要添加的功能
def show_time(fun):
def inner():
start = time.time()
fun()
end = time.time()
print(end-start)
return inner
#功能函数
def foo():
print('foo ...')
time.sleep(2)
#不改变原来的调用方式
foo = show_time(foo)
#调用函数
foo()