1 #带参数以及返回值的函数装饰器,上一篇博客记录了无参数函数装饰器写法以及使用方案,当函数有参数以及返回值时需要将装饰器进行如下修稿 2 def timer(fun): 3 def deco(*args,**kwargs): #被装饰函数实际是执行deco,所以在此将被装饰函数参数进行传递 4 start_time = time.time() 5 res = fun(*args,**kwargs) #将被装饰函数的返回值接收 6 stop_time = time.time() 7 return res #返回被装饰函数的返回值 8 return deco 9 10 @timer #被装饰函数带参数以及有显式返回值 11 def add(x, y): 12 time.sleep(1) 13 print("this is add func") 14 return x+y 15 16 print(add(1, 2))
原文地址:https://www.cnblogs.com/flags-blog/p/11925061.html
时间: 2024-12-17 05:17:50