python的装饰器的用法简单的
时间: 2024-05-08 15:21:29 浏览: 19
装饰器是 Python 中非常有用的语法特性,它可以用来动态地修改函数或类的行为。其基本语法为:在函数或类的定义前加上 @decorator_name,其中 decorator_name 是一个函数或类,它会被应用到函数或类的定义上。
以下是一个简单的装饰器用法示例:
```python
def my_decorator(func):
def wrapper():
print("Before function is called.")
func()
print("After function is called.")
return wrapper
@my_decorator
def say_hello():
print("Hello!")
say_hello()
```
输出结果为:
```
Before function is called.
Hello!
After function is called.
```
上述代码中,`my_decorator` 是一个装饰器函数,它接受一个函数作为参数,并返回一个内部函数 `wrapper`。`wrapper` 函数在被调用之前和之后都会打印一些信息。使用 `@my_decorator` 语法来装饰 `say_hello` 函数,使得 `say_hello` 函数被调用时会先调用 `my_decorator` 函数,再执行 `say_hello` 函数本身。最终输出结果中可以看到,函数调用前后都打印了一些信息。
装饰器的用途非常广泛,可以用于日志记录、权限验证、性能分析等方面。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)