深入解析Python装饰器及其应用示例
装饰器是Python中一个强大的特性,它允许我们在不改变原函数代码的情况下,增加或修改其功能。
基本语法:
@decorator
def original_function():
# ...
在这个例子中,original_function
就是我们要”装饰”的函数,decorator
是我们定义的装饰器。
应用示例:
- 计时器装饰器:
```python
import time
def timerdecorator(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:.4f} seconds”)
return result
return wrapper
@timer_decorator
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
print(fibonacci(10)) # 输出计算时间``
这个例子中,我们定义了一个
timer_decorator`装饰器,它会在原函数执行前后打印出执行时间和结果。
然后我们使用@timer_decorator
装饰了fibonacci
函数,这样每次调用fibonacci(10)
时,都会在输出结果的同时打印出计算时间。
还没有评论,来说两句吧...