被修饰函数上加上参数的装饰器

import time
#装饰器的架子如下
def timmer(func):
def wrapper(*args,**kwargs):
start_time = time.time()
res = func(*args,**kwargs) #这一步就是在运行test
stop_time = time.time()
print('程序运行时间是%s' %(start_time - stop_time))
return res
return wrapper

@timmer #相当test = timmer(test)
def test(name,age): #被修饰函数
time.sleep(0.5)
print('test函数运行完毕,名字是%s,年龄是%s' %(name,age))
return '这是test 的返回值'

@timmer
def test1(name,age,grender): #被修饰函数
time.sleep(0.9)
print('test函数运行完毕,名字是%s,年龄是%s,性别%s' %(name,age,grender))
return '这是test 的返回值'

res = test('liuhaiquan',18) #就是在运行wrapper
print(res)
test1('doudou',12,'dog')
原文地址:https://www.cnblogs.com/lhqlhq/p/8744678.html