装饰器笔记

老男孩教育 所受学 

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()

未完。。。。。。。

    

 

posted @ 2020-08-04 22:38  请别对我太好  阅读(111)  评论(0编辑  收藏  举报