zoukankan      html  css  js  c++  java
  • python装饰器详解

    装饰器:本质上就是一个函数(装饰其它函数):为其他函数添加附属功能。

    原则:

    • 不能修改被装饰函数的源代码
    • 不能修改被装饰函数的调用方式

    实现装饰器(decorator)的知识储备:

    1. 函数即变量
    2. 高阶函数
    3. 嵌套函数

    函数即变量:

    • 把函数名当作实参传给另外一个函数(实现了不修改被装饰函数源代码)
    • 返回之中包含函数名(不修改函数调用方式)                                    

    嵌套函数:在一个函数体内用def定义了一个函数

    装饰器:@ 函数名

    # 装饰器
    import time
    def timmer(func):
        #重写函数功能
        def changeFunc():
            time_start=time.time()
            func()
            time_stop=time.time()
            print("this func have use %s time" %(time_stop-time_start))
        return changeFunc
    
    @timmer #类似于代码 test1=timmer(test1) test1()给函数重新附上新的首地址
    def test():
        time.sleep(3)
        print("in the test")
    test()
    

      

  • 相关阅读:
    maven-仓库
    maven-坐标与依赖
    maven-认识
    mysql-介绍
    redis-主从复制
    UVA
    UVA
    UVA
    UVA
    [ Java学习 ] 查阅资料整理 004
  • 原文地址:https://www.cnblogs.com/qkqBeer/p/9114105.html
Copyright © 2011-2022 走看看