在 Python 中,装饰器是一种用于修改其他函数或方法的特殊函数。通过使用装饰器,可以在不修改原始函数代码的情况下,为函数添加额外的功能,例如计时功能。以下是一个使用装饰器实现函数计时功能的示例代码:
import time
# 定义装饰器函数
def time_decorator(func):
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
end_time = time.time()
print(f"函数{func.__name__}执行时间:{end_time - start_time} 秒")
return result
return wrapper
# 被装饰的函数
@time_decorator
def my_function():
# 函数的具体逻辑
for i in range(5):
print(i)
my_function()
在上述代码中,定义了一个名为time_decorator
的装饰器函数,它接受一个函数func
作为参数。在装饰器函数内部,定义了一个内部函数wrapper
,用于包装被装饰的函数。在wrapper
函数中,使用time.time()
函数记录函数执行前的时间start_time
,然后执行被装饰的函数func
,并记录函数执行后的时间end_time
。最后,计算并打印出函数的执行时间。
通过在需要计时的函数上使用@time_decorator
装饰器,就可以在函数执行时自动计时并输出执行时间。在示例中,my_function
函数被装饰器@time_decorator
装饰,执行my_function
函数时会输出函数的执行时间。
需要注意的是,装饰器函数可以用于装饰任何函数,包括自定义函数、内置函数或第三方库中的函数。此外,装饰器还可以接受参数,以便更灵活地控制装饰器的行为。希望这段代码能够帮助到你,如果你还有其他疑问,请随时向我提问。