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)
      
  • 相关阅读:
    寻找大富翁
    C++ STL sort()函数用法
    众数
    平方因子
    Hdu 1089 A+B for Input-Output Practice (I)
    Hdu 1090 A+B for Input-Output Practice (II)
    Hdu 1083 Courses
    Hdu 1069 Monkey and Banana
    Hdu 1062 Text Reverse
    Hdu 1068 Girls and Boys
  • 原文地址:https://www.cnblogs.com/12345zjl/p/13953338.html
Copyright © 2011-2022 走看看