在 Python 中,装饰器是一种非常有用的语法结构。它可以在不修改被装饰函数代码的情况下,为函数添加额外的功能。
装饰器本质上是一个函数,它接受一个函数作为参数,并返回一个新的函数。通过使用装饰器,我们可以轻松地实现代码的复用和功能扩展。
例如,我们可以创建一个简单的计时装饰器来记录函数的执行时间:
import time
def timer(func):
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
end_time = time.time()
print("函数 {} 执行耗时: {:.2f} 秒".format(func.__name__, end_time - start_time))
return result
return wrapper
@timer
def long_running_function():
time.sleep(2)
long_running_function() # 函数 long_running_function 执行耗时: 2.0056519508361816 秒
装饰器为我们提供了一种简洁而强大的方式来增强函数的行为。