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

     

    一:装饰本质就是函数,功能是为其他函数添加附加功能 

    二:原则:

    1)不修改被修饰函数的源代码

    2)不修改被修饰函数的调用方式

    三:装饰器的实现

    1)装饰器=高阶函数+函数嵌套+闭包

    示例:将下列函数增加一个执行时间的功能

    import time
    def cal(l):
        res=0
        for i in l:
            res+=i
        return res
    ret=cal(range(20))
    print(ret)
    

     此时为了保证装饰器的原则,我们需要另外写一个执行时间的函数

    给函数添加装饰器,实现打印出运行时间的功能
    def timer(func):
        def wapper(*args,*kwargs):
            starttime = time.time()
            res = func(*args,**kwargs)
            stoptime = time.time()
            print("函数的运行时间为:%s" %(stoptime-starttime))
            return  res
        return wapper
    

      装饰器的用法:在第一个函数中声明一下即可@timer

    @timer
    def cal(l):
        res=0
        for i in l:
            res+=i
        return res
    ret=cal(range(20))
    print(ret)
    

      

     

  • 相关阅读:
    「学习记录」《数值分析》第三章计算实习题(Python语言)
    Set原理
    字符串流stringReader
    Collection List接口
    io
    Dubbo 服务容错Hystrix
    Duboo 与springboot整合
    读取配置文件
    springboot 端口号
    springboot 多环境选择
  • 原文地址:https://www.cnblogs.com/wangyue0925/p/8973095.html
Copyright © 2011-2022 走看看