Python 装饰器教程
装饰器(Decorators)是 Python 中一种非常有用的特性,它允许我们修改或增强函数或方法的行为,而无需修改原始代码。下面是一个关于 Python 装饰器的简要教程。
基本概念
装饰器本质上是一个函数,它接受一个函数作为参数,并返回一个新的函数。这个新函数可以增强或修改原始函数的行为。
语法
def decorator(func):
def wrapper():
# 在这里添加额外的代码
func()
# 在这里添加额外的代码
return wrapper
@decorator
def hello_world():
print("Hello, World!")
hello_world()
实用示例
假设我们想记录函数的执行时间,可以使用装饰器来实现:
import time
def timer(func):
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
end_time = time.time()
print(f"{func.__name__} took {end_time - start_time} seconds to run.")
return result
return wrapper
@timer
def sleep_for_seconds(seconds):
time.sleep(seconds)
sleep_for_seconds(2)
扩展阅读
更多关于 Python 装饰器的信息,可以参考 Python 装饰器官方文档。
中心图片: