"""
3、(面试笔试题)请设计一个装饰器,接收一个int类型的参数number,可以用来装饰任何的函数,
如果函数运行的时间大于number,则打印出函数名和函数的运行时间
"""
import time
# 计算函数运行时间的装饰器
def count_time(number):
def decor(func):
def wrapper(*args, **kwargs):
# 获取函数执行之前的时间
s_time = time.time()
res = func(*args, **kwargs)
# 函数执行完后再次获取时间
e_time = time.time()
if (e_time - s_time) > number:
print("函数名:{},运行时间:{}".format(func.__name__, e_time - s_time))
return res
return wrapper
return decor
@count_time(3)
def func_one():
for i in range(3):
time.sleep(1)
func_one()