装饰器:添加参数(面试题)
# __author: "ZXYang"
# date: 2020/12/13
import time
"""
请设计一个装饰器,接收一个int类型的参数 number,可以用来装饰任何的函数如果函数运行的时间大于 number,
则打甲出函数名和函数的运行时间(面试真题)
"""
def decorator01(number):
def decorator02(func):
def wrapper(*args, **kwargs):
start_time = time.time()
res = func(*args, **kwargs)
end_time = time.time()
sum_time = end_time - start_time
if sum_time > number:
print("函数名:{}, 运行时间:{}".format(func, sum_time))
return res
return wrapper
return decorator02
@decorator01(1)
def dog():
time.sleep(2)
dog()