写一个装饰器,查看函数执行的时间

1.在装饰器中打印执行时间即可
2.递归函数除外

def continue_time(func):
    import time
    def wrapper (*args,**kwargs):
        start_time=time.time()
        print('开始时间{}'.format(start_time))
        result=func(*args,**kwargs)
        end_time=time.time()
        print('结束时间{}'.format(end_time))
        print('执行时间为{}'.format(end_time-start_time))
        return  result
    return wrapper
@continue_time
def func(n):
    import  time
    while n>0:
        time.sleep(1)
        n-=1
#func(1)
#continue_time(func)
总结:time 函数,装饰器的结构要了解具体的含义及写法

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 装饰器是 Python 中一种很常用的设计模式,它可以在不改变原函数的情况下,在原函数运行前后增加新的功能。 下面是一个简单的测试代码执行时间装饰器的例子: ``` import time def timeit(func): def wrapper(*args, **kwargs): start = time.perf_counter() result = func(*args, **kwargs) end = time.perf_counter() print(f'Function {func.__name__} took {end - start:.6f} seconds') return result return wrapper @timeit def test_function(n): time.sleep(n) test_function(2) ``` 运行上面的代码,会输出 `Function test_function took 2.000400 seconds`,表示 `test_function` 函数执行了 2 秒。 希望这个例子能帮到你。 ### 回答2: 好的,下面是一个测试代码执行时间装饰器示例: ```python import time def calculate_execution_time(func): def wrapper(*args, **kwargs): start_time = time.time() # 记录函数开始执行时间 result = func(*args, **kwargs) # 执行装饰函数 end_time = time.time() # 记录函数结束执行时间 execution_time = end_time - start_time # 计算函数执行时间 print("函数 {} 的执行时间为:{} 秒".format(func.__name__, execution_time)) return result # 返回函数执行结果 return wrapper # 使用装饰器来测试函数执行时间 @calculate_execution_time def example_function(n): # 模拟一个耗时操作 time.sleep(n) return "耗时操作完成" # 调用被装饰函数 print(example_function(3)) # 传入参数3代表模拟耗时3秒的操作 ``` 这个装饰器函数`calculate_execution_time`接收一个函数作为参数,并返回一个新的函数作为装饰后的函数。在这个新函数内部,我们使用`time`模块来计算被装饰函数执行时间,并在函数结束后打印出来。 在示例中,我们将`example_function`函数使用`@calculate_execution_time`装饰器进行装饰,然后调用该函数并传入参数。装饰器会自动计算函数执行时间,并打印在控制台上。最后返回函数执行结果。 希望这个示例能帮助你编自己的测试代码执行时间装饰器。 ### 回答3: 当需要测试某段代码的执行时间时,可以使用装饰器来实现。一个简单的测试代码执行时间装饰器可以按照如下方式实现: ```python import time def calculate_time(func): def wrapper(*args, **kwargs): start_time = time.time() # 记录开始时间 result = func(*args, **kwargs) # 执行装饰函数 end_time = time.time() # 记录结束时间 execution_time = end_time - start_time # 计算执行时间 print(f"函数 {func.__name__} 执行时间为 {execution_time} 秒") return result return wrapper ``` 上述代码中,`calculate_time` 是一个装饰器函数,它接受一个函数作为参数,并返回一个包装函数 `wrapper`。`wrapper` 函数执行装饰函数之前和之后分别记录了开始时间和结束时间,并计算出执行时间。最后,它打印出执行时间并返回原函数的结果。 使用装饰器的方式是,在需要测试执行时间函数定义之前加上 `@calculate_time`。 例如: ```python @calculate_time def my_function(): # 执行一些代码 # ... pass my_function() # 测试代码执行时间 ``` 当你运行上述代码时,它将会打印出 `my_function` 函数执行时间。这样,你就可以方便地测试代码的执行时间了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值