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

    装饰器语法糖:

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

  • 相关阅读:
    SQLServer和Access数据传输简单总结
    Session 详解
    SQL日志文件过大问题的解决方法
    如何删除表中的重复记录?
    HDOJ 3711 Binary Number
    HDOJ 2022
    活动选择问题
    浮点数的比较
    HDOJ 2037
    找最长递增子数列
  • 原文地址:https://www.cnblogs.com/kp1995/p/10038456.html
Copyright © 2011-2022 走看看