复习装饰器

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(72)_生成器函数与装饰器复习

装饰器复习

函数复习

python-flask复习—— 装饰器的坑及解决办法flask中的路由/实例化配置/对象配置/蓝图/特殊装饰器(中间件重定义错误页面)

Python学习————python基础复习

复习装饰器