写一个三层嵌套修饰器
时间: 2024-02-09 20:11:48 浏览: 54
好的,以下是一个三层嵌套修饰器的示例代码:
```python
def first_decorator(func):
def wrapper(*args, **kwargs):
print("This is the first decorator.")
return func(*args, **kwargs)
return wrapper
def second_decorator(func):
def wrapper(*args, **kwargs):
print("This is the second decorator.")
return func(*args, **kwargs)
return wrapper
def third_decorator(func):
def wrapper(*args, **kwargs):
print("This is the third decorator.")
return func(*args, **kwargs)
return wrapper
@first_decorator
@second_decorator
@third_decorator
def my_function():
print("This is my function.")
my_function()
```
在这个示例代码中,我们定义了三个装饰器函数 `first_decorator`、`second_decorator` 和 `third_decorator`,它们都是闭包函数,接受一个函数作为参数,并返回一个新的函数,这个新函数就是装饰后的函数。
最后,我们定义了一个函数 `my_function`,并使用了三个装饰器对它进行修饰。
当我们调用 `my_function` 时,会依次执行三个装饰器函数,并输出以下结果:
```
This is the first decorator.
This is the second decorator.
This is the third decorator.
This is my function.
```
阅读全文