练习-Python函数之装饰器
时间: 2024-12-04 08:26:32 浏览: 32
装饰器是Python中一种高级特性,它允许我们在不改变原函数定义的情况下,给函数添加额外的功能或修改其行为。装饰器本质上是一个接收函数作为输入,并返回一个新的函数的高阶函数。它们通常用于实现日志记录、性能分析、权限验证等场景。
使用装饰器的语法通常是这样:
```python
@decorator_name
def original_function():
# 函数体
```
其中,`decorator_name`是一个已经定义好的装饰器函数。当我们调用`original_function`时,实际上是先经过了装饰器处理再执行的。
例如,一个简单的计时装饰器可能会看起来像这样:
```python
import time
def timer_decorator(func):
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
end_time = time.time()
print(f"{func.__name__} took {end_time - start_time} seconds.")
return result
return wrapper
@timer_decorator
def my_function(n):
time.sleep(n)
my_function(2) # 输出:my_function took 2.000598764038086 seconds.
```
阅读全文