1. 手写一个装饰器
import time
def timer(func):
"""
用于计时的装饰器函数
:param func: 被装饰函数
:return: 闭包函数,封装了自定义行为与被装饰函数的调用
"""
def wrapper(*args, **kwargs):
"""
闭包函数
:param args: 被装饰函数的位置参数
:param kwargs: 被装饰函数的关键字参数
:return: int,被装饰函数的计算结果
"""
t1 = time.time()
res = func(*args, **kwargs)
t2 = time.time()
cost = t2 - t1
print(f"function cost {cost} second")
return res
return wrapper
@timer
def run_test():
print("123")
run_test()