多个装饰器装饰一个函数

Posted Apollo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多个装饰器装饰一个函数相关的知识,希望对你有一定的参考价值。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# 作者: Apollo
# 邮箱: 1986690272@qq.com
# 博客: http://www.zgerji.online/

def wrapper1(func):  # func = f
    def inner1():
        print(\'wrapper1 ,before func\')
        func()
        print(\'wrapper1 ,after func\')
    return inner1

def wrapper2(func):  # func = inner1
    def inner2():
        print(\'wrapper2 ,before func\')
        func()
        print(\'wrapper2 ,after func\')
    return inner2

@wrapper2     # f = wrapper2(f)  里面的f == inner1   外面的f = inner2
@wrapper1     # f = wrapper1(f)  返回inner1    f = inner1
def f():
    print(\'in f\')
f()  # inner2()

# 详解图解文件:多个装饰器装饰一个函数.png

以上是关于多个装饰器装饰一个函数的主要内容,如果未能解决你的问题,请参考以下文章

python 多个装饰器的调用顺序

Python全栈__函数的有用信息带参数的装饰器多个装饰器装饰一个函数

Python进阶装饰器(Decorator)

装饰器

多个装饰器修饰一个函数时的调用顺序

day14 带函数的装饰器多个装饰器装饰一个函数