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

    1,什么是装饰器

      装饰器指的是为被装饰对象添加新功能的工具

      装饰器本身可以是任意可调用对象

      被装饰对象本身也可以是任意可调用对象

    2,为何要用装饰器

      开放封闭原则:对修改封闭,对扩展开放

      装饰器的实现原则:

        1),不能修改被装饰对象的源代码

        2),不能修改被装饰对象的调用方式

      装饰器的目的:

        就是在遵循原则1和2的掐前提为被装饰对象添加新功能  

    import time
    
    
    def outer(func):
        def wrapper(*args,**kwargs):
            start = time.time()
            res=func(*args,**kwargs)
            stop = time.time()
            print('this process run %s' % (stop - start))
            return res
        
        return wrapper
    
    
    @outer
    def index():
        time.sleep(.5)
        print('hello')
    
    
    index()

    装饰器模板

    def outer(func):
        def wrapper(*args,**kwargs):
    
            res=func(*args,**kwargs)
    
            return res
        return wrapper

    装饰器语法糖:

      在被装饰对象正上方,并且单独一行写上@装饰器名(将下方函数名当做参数传给装饰器名,返回值赋给下方函数名)

  • 相关阅读:
    JS闭包
    webpack管理资源
    在webpack中使用配置文件
    webpack起步
    buuctf-MISC 面具下的flag
    Kali linux Steghide开源隐写工具
    buuctf-misc 九连环
    buuctf-Crypto rsarsa 1
    buuctf-web HardSQL 1
    buuctf-web Hack World 1
  • 原文地址:https://www.cnblogs.com/kp1995/p/10038456.html
Copyright © 2011-2022 走看看