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)
  • 相关阅读:
    java Math类
    JAVA Date类与Calendar类【转】
    java Runtime类
    Java System类
    java 多线程
    java 包
    Java 内部类
    java 抽象类 以及模块方法设计模式,接口
    java 单例模式
    java 关于Java中静态代码块以及构造函数的执行先后顺序
  • 原文地址:https://www.cnblogs.com/jiawen010/p/9723029.html
Copyright © 2011-2022 走看看