Python装饰器:理解和应用示例
装饰器是 Python 中一种强大的语法特性,它允许你在不改变原函数代码的情况下,为函数添加额外的行为。
下面我们将通过几个示例来理解并使用装饰器。
- 记录函数执行时间
import time
def timer_decorator(func):
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs))
end_time = time.time()
print(f"Function {func.__name__}} took {end_time - start_time} seconds")
return result
return wrapper
@timer_decorator
def slow_function(n):
time.sleep(n)
return n * 2
slow_function(3)
在这个示例中,我们创建了一个名为 timer_decorator
的装饰器。它接受一个函数作为参数,并在其内部添加了记录执行时间的功能。
然后我们通过 @timer_decorator
将这个装饰器应用到 slow_function
函数上。
当调用 slow_function(3)
时,实际上是在调用经过装饰器处理后的版本,从而在执行过程中记录了函数的运行时间。
还没有评论,来说两句吧...