复习装饰器
Posted yangli0504
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了复习装饰器相关的知识,希望对你有一定的参考价值。
无参装饰器
1 开放封闭原则
软件一旦上线后,就应该遵循开放封闭原则,即对修改源代码是封闭的,对功能的扩展是开放的
也就是说我们必须找到一种解决方案:
能够在不修改一个功能源代码以及调用方式的前提下,为其加上新功能
总结,
原则如下:
1、不修改源代码
2、不修改调用方式
目的:
在遵循1和2原则的基础上扩展新功能
2、什么是装饰器?
器指的工具,装饰指的是为被装饰对象添加新功能
完整含义:
装饰器即在不修改被装饰对象源代码与调用方式的前提下,为被装饰器对象添加新功能
装饰器与被装饰的对象均可以是任意可调用的对象
装饰器=》函数
被装饰的对象=》函数
#无参装饰器模板
def outer(func):
def inner(*args,**kwargs):
res=func(*args,**kwargs)
return res
return inner
装饰器魔法糖
关键字@,@后面跟装饰器函数名,正下面为需要用到装饰器的函数,@必须单独一行
有参装饰器
在装饰器上再加一层包装,也就是再套一套函数,
魔法糖调用时,@最外层函数(参数),@带参数最外层函数
以上是关于复习装饰器的主要内容,如果未能解决你的问题,请参考以下文章
python-flask复习—— 装饰器的坑及解决办法flask中的路由/实例化配置/对象配置/蓝图/特殊装饰器(中间件重定义错误页面)