python多层装饰器执行顺序
时间: 2023-12-11 14:33:51 浏览: 88
Python中多层装饰器的执行顺序是从下往上执行,即先执行最底层的装饰器,然后依次向上执行。在你提供的例子中,执行顺序如下:
1.首先,@deco2装饰器被执行,因为它在@deco1之下,所以它是最底层的装饰器。执行结果为:
```python
5
```
2.然后,@deco1装饰器被执行,因为它在foo函数之上。执行结果为:
```python
1
```
3.接着,wrapper1函数被创建并返回,因为它是@deco1装饰器内部定义的。执行结果为:
```python
2
foo
3
4
```
4.最后,wrapper2函数被创建并返回,因为它是@deco2装饰器内部定义的。执行结果为:
```python
6
2
foo
3
4
7
8
```
因此,最终的输出结果为:
```python
5
1
6
2
foo
3
4
7
8
```
阅读全文