python装饰器的用法
时间: 2023-11-02 17:06:41 浏览: 36
Python装饰器是一种高级的语法特性,它可以在不修改原函数代码的情况下,对函数进行增强或修改。装饰器通常可以用来实现缓存、日志、权限验证等功能。
装饰器的用法如下:
1.定义装饰器函数,该函数接收一个函数作为参数,并返回一个新的函数。
```python
def decorator(func):
def wrapper(*args, **kwargs):
# 对原函数进行增强或修改
return func(*args, **kwargs)
return wrapper
```
2.在需要增强或修改的函数前使用装饰器。
```python
@decorator
def original_function():
# 原函数的代码
pass
```
3.调用原函数时,实际上是调用经过装饰器处理后的新函数。
```python
original_function()
```
4.装饰器可以叠加使用,可以同时实现多个功能。
```python
@decorator1
@decorator2
def original_function():
# 原函数的代码
pass
```
注意事项:
1.装饰器函数的名称可以自定义,但是约定俗成的做法是以“@”加装饰器函数名的方式来使用装饰器。
2.装饰器函数的参数可以是任意类型,但是通常接收的是一个函数。
3.在装饰器函数内部,需要返回一个新的函数,这个新函数就是用来代替原函数的。
4.装饰器函数内部通常会调用原函数,但是也可以不调用,或者调用多次。