zoukankan      html  css  js  c++  java
  • 装饰器笔记

    老男孩教育 所受学 

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

    未完。。。。。。。

        

  • 相关阅读:
    Spring MVC的常用注解(一)
    Spring MVC接口实例
    MVC模式和Spring MVC初识
    Hbase数据结构和shell操作
    Hbase的安装和配置
    ZooKeeper安装、配置和使用
    hadoop的安装和配置
    VMware Workstation安装CentOS 7和开发环境
    Java基础-内部类
    SSM三大框架整合
  • 原文地址:https://www.cnblogs.com/yjc53/p/13436745.html
Copyright © 2011-2022 走看看