1、普通写法
import time
# 1
# def foo():
# print('foo....')
# time.sleep(2)
#
# def bar():
# print('bar....')
# time.sleep(3)
#
# def show_time(f):
# def inner():
# start = time.time()
# f()
# end = time.time()
# print('spend %s' % (end - start))
# return inner
# foo = show_time(foo)
#
# foo()
执行逻辑:
foo()
show_time(f)
inner() # 执行start = time.time 开始时间
f() # f() = foo() 执行代码 print('foo....') time.sleep(2) 执行end = time.time()
# print('spend %s' % (end - start))
return inner
2、装饰器写法
def show_time(f):
def inner():
start = time.time()
f()
end = time.time()
print('spend %s' % (end - start))
return inner
def foo():
print('foo....')
time.sleep(2)
@show_time # bar = show_time(bar) 装饰器
def bar():
print('bar....')
time.sleep(3)
bar()