Python中的装饰器:使用案例及理解

原创 电玩女神 2025-02-15 12:45 40阅读 0赞

装饰器是 Python 中一种强大的语言特性,它允许在不改变原有代码结构的情况下,为函数添加新的功能。

以下是一些装饰器的使用案例:

  1. 计时装饰器:
    ```python
    import time

def timer(func):
def wrapper(args, **kwargs):
start_time = time.time()
result = func(
args, **kwargs))
endtime = time.time()
print(f”{func._name
}} took {end_time - start_time} seconds”)
return result
return wrapper

@timer
def my_function():
time.sleep(2)

my_function() # 输出: my_function took 2.0147365028937 seconds

  1. 2. 缓存装饰器:
  2. ```python
  3. from functools import lru_cache
  4. @lru_cache(maxsize=10) # 设置缓存大小
  5. def fibonacci(n):
  6. if n <= 1:
  7. return n
  8. else:
  9. return fibonacci(n-1) + fibonacci(n-2)
  10. print(fibonacci(3)) # 输出: 3
  11. print(fibonacci(4)) # 输出: 5
  12. print(fibonacci(5)) # 输出: 8

理解:
装饰器是 Python 中一种高级语法,它允许在不改变已有代码结构的情况下,为函数、方法或者类添加新的功能。

装饰器使用 @decorator_name 的方式定义,并通过导入的装饰器进行应用。

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

发表评论

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

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

相关阅读