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

    1、作用:基于不改变原有函数(或类)的前提下,新增函数功能

    2、特点:入参和返回值均为函数

    3、实例:记录函数运行时间

    # noinspection PyUnresolvedReferences
    import time
    
    #装饰函数:计算函数运行时间
    #注意wrapper的参数要写入f()的入参,f()的入参要写实际功能函数的入参
    #返回函数wrapper后不要加()
    def time_rec(f):
        def wrapper(a,b):
            start_time = time.time()
            f(a,b)
            end_time = time.time()
            run_time = end_time - start_time
            print ('函数运行时间为%d'%run_time)
        return wrapper
    
    #功能函数:加法
    #add_num是装饰函数time_rec的入参
    @time_rec
    def add_num(a,b):
        time.sleep(1)
        print ('%d与%d之和为:%d'%(a,b,(a+b)))
    
    #功能函数:减法
    #sub_num是装饰函数time_rec的入参
    @time_rec
    def sub_num(a,b):
        print ('%d与%d之差为:%d'%(a,b,(a-b)))
    
    if __name__ == '__main__':
        add_num(3,2)
        sub_num(3,2)
      
  • 相关阅读:
    关于浏览器及系统的判断
    toggle与slideToggle
    安卓与ios的不同处理
    关于常用循环遍历获取数据
    docker
    Mysql
    rabbitMQ的使用转载
    Git命令行
    vue项目创建完整版
    redis操作(str.hash.list.set)
  • 原文地址:https://www.cnblogs.com/12345zjl/p/13953338.html
Copyright © 2011-2022 走看看