Python装饰器都有哪些
时间: 2024-11-06 07:14:25 浏览: 8
python 装饰器的实际作用有哪些
Python装饰器是一种特殊类型的函数,它们允许我们修改其他函数的行为或添加额外功能,而无需直接修改这些函数的源代码。装饰器通常接受一个函数作为输入,并返回一个新的函数。Python装饰器的主要用途包括:
1. 记录日志:如`@log_function`,可以自动记录函数的执行信息。
2. 计时和性能分析:如`@timeit`,用于测量函数运行时间。
3. 授权和权限检查:如`@login_required`,验证用户是否已登录。
4. 缓存数据:如`@cache`,避免重复计算结果。
5. 输入验证:如`@validate_input`,检查函数参数的有效性。
常见的装饰器语法是:`@decorator_name`,放在被修饰的函数定义之前。例如:
```python
def my_decorator(func):
def wrapper():
# 装饰器逻辑
func()
return wrapper
@my_decorator
def say_hello():
print("Hello!")
say_hello() # 输出 "Hello!"
```
阅读全文