一、装饰器定义
器即函数
装饰即修饰,意指为其他函数添加新功能
装饰器定义:本质就是函数,功能是为其他函数添加新功能
二、装饰器需遵循的原则
1.不修改被装饰函数的源代码(开放封闭原则)
2.为被装饰函数添加新功能后,不修改被修饰函数的调用方式
三、实现装饰器知识储备
装饰器=高阶函数+函数嵌套+闭包
四、无参装饰器
1 #装饰器 2 3 import time #调用时间模块(系统自带的time模块) 4 def timmer(func): 5 def wrapper(): 6 #print(func) 7 start_time=time.time() 8 func() 9 stop_time=time.time() 10 print('run time is %s' %(stop_time - start_time)) 11 return wrapper 12 13 @timmer #index=timmer(index) 14 def index(): 15 time.sleep(1) 16 print('welcome to oldboy') 17 index() # --------->wrapper()