不同的函数可能需要加不同的参数。所以可以加上不定长参数。例如:
1 import time 2 def timmer(func): 3 def wrapper(*args,**kwargs): 4 start_time = time.time() 5 res = func(*args,**kwargs) 6 stop_time = time.time() 7 print('程序运行时间%s'%(stop_time-start_time)) 8 return res 9 return wrapper 10 @timmer # 相当于 fool = timmer(fool) 11 def fool(name,age): 12 time.sleep(1) 13 print('程序运行完了,名字是【%s】年纪是【%s】'%(name,age)) 14 return '这是fool函数的返回值' 15 @timmer # 相当于 fool = timmer(fool) 16 def fool1(name,age,gender): 17 time.sleep(1) 18 print('程序运行完了,名字是【%s】年纪是【%s】性别是【%s】'%(name,age,gender)) 19 return '这是fool函数的返回值' 20 v = fool('李玉玉',age=18) 21 print(v) 22 输出: 23 程序运行完了,名字是【李玉玉】年纪是【18】 24 程序运行时间1.0006670951843262 25 这是fool函数的返回值