https://www.cnblogs.com/wangtaobiu/p/10614451.html
https://www.cnblogs.com/Doaoao/p/10134718.html
https://www.cnblogs.com/two-peanuts/p/10955274.html
import time
from functools import wraps
def timmer(func):
@wraps(func) #wraps装饰器来保证原函数的属性不变
def wrapper(*args):
start_time = time.time()
func(*args) # 运行的为test函数
stop_time = time.time()
print("程序运行的时间%s"%(start_time-stop_time))
print(*args)
return wrapper
@timmer
def test(na,age):
time.sleep(3)
print("test函数执行完毕")
test("henry",18)
@timmer
def test2(na,age,addr):
time.sleep(3)
print("test2函数执行完毕")
test2("heihei","16","China")
# 程序报错:当被装饰的函数有三个实参时,装饰器中也得有对应的形参