装饰器:添加参数(面试题)

# __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()
posted @ 2020-12-13 21:22  zxy_ang  阅读(107)  评论(0)    收藏  举报