Python中的装饰器原理及其应用实例

原创 矫情吗;* 2025-02-16 14:06 40阅读 0赞

装饰器是Python中一种强大的语言特性,主要用于修改、增强或包装函数。简单来说,就是一个在不改变原函数代码的情况下,为函数添加功能的工具。

以下是一个装饰器的应用实例:

  1. # 定义一个装饰器,名为timeit
  2. def timeit(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:.3f}秒')
  8. return result
  9. return wrapper
  10. # 假设我们有一个计算阶乘的函数
  11. @timeit
  12. def factorial(n):
  13. if n == 0 or n == 1:
  14. return 1
  15. else:
  16. return n * factorial(n-1)
  17. # 测试函数
  18. print(factorial(5)) # 输出结果,包括执行时间

上述例子中,timeit 是一个装饰器,它接收一个函数作为参数,并返回一个新的包装过的函数。新函数在调用原函数的同时,还会记录并打印出执行的时间。

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

发表评论

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

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

相关阅读