装饰器

Posted xiamenghan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了装饰器相关的知识,希望对你有一定的参考价值。

1.什么是装饰器

  器=>工具

  装饰=>指的是为被装饰对象添加新功能

 

  装饰器本身可以是任意可调用的对象=>函数

  被装饰的对象也可以是任意可调用的对象=>函数

 

  目标:写一个函数来为另外一个函数添加新功能

 

2.为何要用装饰器

  开放封闭原则:软件一旦上线就应该对修改封闭,对扩展开放

    对修改封闭:

      1.不能修改功能的源代码

      2.也不能修改功能的调用方式

 

    对扩展开放:

      可以为原有的功能添加新的功能

  

  装饰器就是要在不修改功能源代码以及调用方式的前提下为原功能添加额外新的功能

3.如何用装饰器

import time

def index():
    print(hello)
    time.sleep(1)


def outter(func):
    def wrapper():
        start=time.time()
        func()
        stop=time.time()
        print(time is %s%(stop-start))
    return wrapper

index=outter(index)
index()

 

以上是关于装饰器的主要内容,如果未能解决你的问题,请参考以下文章

Python面向对象学习之八,装饰器

thymeleaf 片段渲染后重新加载 javascript

代码缺乏装饰?使用ts装饰器来装饰你的代码

代码缺乏装饰?使用ts装饰器来装饰你的代码

代码缺乏装饰?使用ts装饰器来装饰你的代码

代码缺乏装饰?使用ts装饰器来装饰你的代码