Python中装饰器的理解和应用示例

原创 àì夳堔傛蜴生んèń 2025-01-28 00:06 59阅读 0赞

装饰器是Python中的一个强大特性,它允许我们在不改变已有代码结构的情况下,给函数添加新的功能。

理解:

  • 装饰器本质上是一个返回新函数的高阶函数。
  • 它接收一个函数(原函数)作为参数,并返回一个新的函数。
  • 新的函数在执行时会调用原始函数,同时也可以做一些额外的操作。

应用示例:

  1. 计时器装饰器
  1. import time
  2. def timer(func):
  3. def wrapper(*args, **kwargs):
  4. start_time = time.time()
  5. result = func(*args, **kwargs))
  6. end_time = time.time()
  7. print(f'函数 {func.__name__} 执行时间: {end_time - start_time} 秒')
  8. return result
  9. return wrapper
  10. @timer
  11. def simple_func():
  12. time.sleep(2)
  13. simple_func()
  1. 日志装饰器
  1. import logging
  2. def log_decorator(func):
  3. def wrapper(*args, **kwargs):
  4. logging.info(f'函数 {func.__name__}} 开始执行...')
  5. result = func(*args, **kwargs))
  6. logging.info(f'函数 {func.__name__}} 执行完成,返回结果: {result}')
  7. return result
  8. return wrapper
  9. @log_decorator
  10. def complex_func(a, b):
  11. time.sleep(3)
  12. return a * b
  13. complex_func(4, 5)

以上两个示例展示了如何使用装饰器来给函数添加新的功能。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

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

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

相关阅读