装饰器笔记
老男孩教育 所受学
1、什么是装饰器
器==》工具==》函数
装饰==》指的是为被装饰着添加到新功能
2、为何要是用装饰器
开放封闭原则:
封闭指的是对修改源代码是封闭的
开放是指对拓展新功能是开放的
装饰器就是一个函数,该函数就是在不修改被装饰对象源代码、以及调用方式前提下,用来为其他函数对象添加额外的功能
3,如何实现装饰器===》闭包函数
装饰器的目标:是为被装饰对象添加额外的功能
装饰器的原则:不修改被装饰的对象的源代码,不修改被装饰对象的调用方式
4,装饰器模板
def auth(func): def warpper(*args,**kwargs):
res=func(*args,**kwargs) return res return warpper
实例 装饰一个计算函数运行时间
import time from functools import wraps def timmer(func): @wraps(func)#为了返回被装饰的函数的相同属性 def warpper(*args,**kwargs): start = time.time() res=func(*args,**kwargs) # 为了返回被装饰函数的返回值 stop=time.time() print("run time is %s"%(stop-start)) return res #返回被装饰函数的返回值 return warpper @timmer def index(): print("index====>") time.sleep(0.5) return "成功执行" index()
未完。。。。。。。