在云计算领域,对多个函数计时是一个常见的需求,可以通过以下方法实现而不需要在多个地方调用时间:
import time
def timer(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
def function_1():
# 函数1的逻辑代码
@timer
def function_2():
# 函数2的逻辑代码
# 调用函数时会自动计时
function_1()
function_2()
在以上示例中,timer
装饰器函数接收一个函数作为参数,并返回一个新的函数 wrapper
。这个新函数在执行被装饰的函数前后会记录时间并输出执行时间。
总结起来,无论使用装饰器、AOP框架还是函数调用钩子,关键是在函数执行前后插入计时逻辑,并在适当的地方输出执行时间。这样可以实现对多个函数的计时,而不需要在每个函数调用处手动记录时间。
领取专属 10元无门槛券
手把手带您无忧上云