是一种修饰递归函数的装饰器,用于测量递归函数的执行时间。它可以通过装饰器的方式将计时逻辑与递归函数分离,使代码更加清晰和可维护。
一种常见的正确计时递归函数的Python装饰器实现如下:
import time
def timer_decorator(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
在上面的代码中,我们定义了一个名为timer_decorator
的装饰器函数,它接受一个函数func
作为参数,并返回一个新的函数wrapper
。wrapper
函数在执行被修饰的递归函数时,会记录开始时间和结束时间,并计算出执行时间。
使用这个装饰器时,只需要在定义递归函数时,在函数的上方添加@timer_decorator
即可:
@timer_decorator
def recursive_function(n):
if n <= 1:
return 1
else:
return n * recursive_function(n-1)
以上代码中,@timer_decorator
表示recursive_function
函数将会被timer_decorator
装饰器修饰。
这样,在调用recursive_function
时,装饰器会自动测量函数的执行时间并输出。同时,也可以获得函数的返回结果。
推荐的腾讯云相关产品和产品介绍链接地址:
请注意,以上链接仅为示例,实际应根据具体情况选择合适的腾讯云产品和服务。
领取专属 10元无门槛券
手把手带您无忧上云