
装饰器是Python语言的核心特性之一,它允许在不修改原函数的情况下增强函数功能。这在日志记录、性能测试、权限验证等场景中非常有用。
基础装饰器
def my_decorator(func):
def wrapper(*args, **kwargs):
print("调用前")
result = func(*args, **kwargs)
print("调用后")
return result
return wrapper
@my_decorator
def say_hello(name):
print(f"Hello {name}")
带参数的装饰器
装饰器工厂函数返回装饰器,允许传递额外参数。这使装饰器更加灵活和可配置。
functools.wraps保留元信息
使用functools.wraps可以保留原函数的名称、文档字符串等元信息,确保调试和文档生成正常工作。
类装饰器
类也可以作为装饰器使用,适合需要维护状态的场景,如缓存、计数器等。
常见应用场景
- 日志记录和性能监控
- 缓存结果
- 输入验证
- 权限检查
- 重试机制
文章很赞,支持一下吧~
还没有人为TA充电
为TA充电
© 版权声明















暂无评论内容