Python中啥是装饰器
时间: 2023-06-27 20:08:36 浏览: 113
Python中的各种装饰器详解
装饰器是Python中的一个重要概念,它实质上是一个函数,用于修饰或装饰其他函数、类或方法。装饰器可以在不改变原有代码的情况下,为其添加新的功能。
装饰器的语法比较简单,通常以@符号开头,紧跟着装饰器函数名。装饰器函数可以接收一个函数作为参数,并返回一个新的函数。
示例代码:
```python
def my_decorator(func):
def wrapper():
print("Before the function is called.")
func()
print("After the function is called.")
return wrapper
@my_decorator
def say_hello():
print("Hello!")
say_hello()
```
上述代码中,`my_decorator` 是一个装饰器函数,它接收一个函数作为参数,并返回一个新的函数 `wrapper`。`wrapper` 函数在调用原函数 `func` 前后都会打印一些信息。在 `say_hello` 函数上方使用了装饰器 `@my_decorator`,相当于执行了 `say_hello = my_decorator(say_hello)`,即将 `say_hello` 函数传入 `my_decorator` 函数,然后将 `wrapper` 函数作为返回值赋给 `say_hello` 函数。最终,当调用 `say_hello` 函数时,实际上是调用了 `wrapper` 函数。
阅读全文