Python中的装饰器是什么?如何使用?

原创 ﹏ヽ暗。殇╰゛Y 2025-03-08 18:36 16阅读 0赞

在Python中,装饰器(Decorator)是一种特殊类型的函数,它可以在不改变原函数代码的情况下,为原函数添加额外的功能或行为。

装饰器的基本语法如下:

  1. def decorator(function):
  2. # 添加额外功能的代码
  3. def wrapper(*args, **kwargs):
  4. # 调用原函数的代码
  5. result = function(*args, **kwargs))
  6. # 返回结果的代码
  7. return result
  8. return wrapper

使用装饰器的方法如下:

  1. 定义一个需要装饰的函数。
  2. 使用@decorator语法将装饰器应用到函数上。

例如,定义一个计算两数之和的原函数,并使用装饰器添加日志功能:

  1. # 原函数
  2. def add_numbers(a, b):
  3. return a + b
  4. # 装饰器
  5. def log_decorator(function):
  6. def wrapper(*args, **kwargs):
  7. print(f"Calling {function.__name__} with args: {args}, kwargs: {kwargs}")
  8. result = function(*args, **kwargs))
  9. return result
  10. return wrapper
  11. # 使用装饰器
  12. @log_decorator
  13. def add_numbers_with_log(a, b):
  14. return a + b
  15. # 测试
  16. print(add_numbers(3, 5))) # 输出:8
  17. print(add_numbers_with_log(3, 5))) # 输出:调用 add_numbers_with_log 函数,with args: (3, 5)), kwargs: {}: 调用 add_numbers 函数,with args: (3,), kwargs: {b: 5}}, 结果:8
文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,16人围观)

还没有评论,来说两句吧...

相关阅读