python 函数--装饰器
一、装饰器
1、为什么要用装饰器?
装饰器的功能:在不修改原函数以及调用方式的情况下对原函数功能进行扩展。
二、开放和封闭原则
1、对扩展是开放的
2、对修改是封闭的
三、装饰器的固有结构
1 import time 2 def warpper(func): 3 def inner(*args,**kwargs): 4 '''函数执行之前的内容扩展''' 5 start = time.time() 6 print('1') 7 ret = func(*args, **kwargs) 8 '''函数执行之后的内容扩展''' 9 end = time.time() 10 print('2') 11 print(end - start)#睡眠时间 12 return ret 13 return inner 14 15 @warpper 16 def aaa(): 17 time.sleep(3) 18 print('123456') 19 20 aaa() 21 22 23 输出: 24 1 25 123456 26 2 27 3.0
四、带参数的装饰器
五、多个装饰器装饰一个函数