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

    import  time
    def test():
        time.sleep(3)
        print('我是test')
    #test();
    #用高阶函数实现一个装饰器 来统计函数执行时间
    
    def timmer(func):
        def wapper():
            start_time=time.time()
            func()
            stop_time=time.time()
            print('函数%s的执行时间是%s' %(func.__name__, (stop_time-start_time)))
        return  wapper
    #res=timmer(test) #res() #用函数堂的方法 @+修饰函数名 就相当于 res=timmer(test) 这步操作 @timmer def test2(): time.sleep(3) print('我是test2') test2()

     带返回值的

    import  time
    def test():
        time.sleep(3)
        print('我是test')
    #test();
    #用高阶函数实现一个装饰器 来统计函数执行时间
    
    def timmer(func):
        def wapper():
            start_time=time.time()
            res=func()
            stop_time=time.time()
            print('函数%s的执行时间是%s' %(func.__name__, (stop_time-start_time)))
            return  res
        return wapper
    
    #res=timmer(test)
    #res()
    #用函数堂的方法   @+修饰函数名 就相当于 res=timmer(test) 这步操作
    @timmer
    def test2():
        time.sleep(3)
        return '我是test2的返回值'
    
    res=test2()
    print(res)

     带参数

    import  time
    def timmer(func):
        def wapper(*args,**kwargs):
            start_time=time.time()
            res=func(*args,**kwargs)
            stop_time=time.time()
            print('函数%s的执行时间是%s' %(func.__name__, (stop_time-start_time)))
            return  res
        return wapper
    #带参数
    @timmer
    def test2(name,age):
        time.sleep(1)
        print('我是%s今年%s岁' %(name,age))
        return '我是test2的返回值'
    
    res=test2('alex',18)
    print(res)
  • 相关阅读:
    695. 岛屿的最大面积(深搜)
    147. 对链表进行插入排序(排序)
    566. 重塑矩阵(模拟)
    238. 除自身以外数组的乘积(前后缀积)
    29.Java基础_接口
    C++ STL queue
    C++ STL stack
    C++ STL string
    C面向接口编程和C++多态案例
    单例模式入门
  • 原文地址:https://www.cnblogs.com/jiawen010/p/9723029.html
Copyright © 2011-2022 走看看