Python装饰器原理及应用:装饰器示例
装饰器是Python中一种强大的工具,它允许我们在不改变原函数代码的情况下,给函数添加新的功能。
装饰器的基本原理:
- 装饰器本质上是一个接受一个函数作为参数,并返回一个新的函数的特殊类型。
- 在使用装饰器时,只需要在需要修改的函数前面加上@装饰器名称即可。
- 新返回的函数会替换原函数。
下面是一些装饰器示例:
- 计时装饰器:
```python
import time
def timer(func):
def wrapper(args, **kwargs):
start_time = time.time()
result = func(args, **kwargs))
endtime = time.time()
print(f’Function {func._name}} took {end_time - start_time} seconds.’)
return result
return wrapper
2. 缓存装饰器:
```python
from functools import lru_cache
@lru_cache(maxsize=10) # 设置缓存最大容量
def expensive_function(n):
time.sleep(1) # 模拟耗时操作
return n * n
print(expensive_function(5)) # 第一次调用,计算并返回结果
print(expensive_function(5)) # 第二次调用,直接从缓存获取结果
通过以上装饰器示例,你可以理解Python装饰器的基本原理和应用。
还没有评论,来说两句吧...