Python多重装饰函数执行顺序

# --------------------------------------------------------------------------
# python----多个装饰器装饰一个函数 示例代码
# 通过对运行结果的分析,我们可以发现,当多个装饰器装饰一个函数时,
# 执行顺序:最先装饰的装饰器,最后一个执行。遵循先进后出规则 类似于stack
# --------------------------------------------------------------------------
def set_fun_1(func):
    print("set__fun_1 定义")  # 打印用于验证在多个装饰器的情况下,多个装饰器之间的执行顺序

    def call_fun_1():
        print("call_fun_1 执行")  # 当被装饰函数执行时,会打印
        func()

    return call_fun_1


def set_fun_2(func):
    print("set__fun_2 定义")

    def call_fun_2():
        print("call_fun_2 执行")
        func()

    return call_fun_2


# step1:定义体装饰函数
@set_fun_2
@set_fun_1
def test():
    print("黑暗森林")


# step1:开始执行函数
test()


# output:
# set__fun_1 定义
# set__fun_2 定义
# call_fun_2 执行
# call_fun_1 执行
# 黑暗森林
展开阅读全文

页面更新:2024-03-27

标签:函数   顺序   示例   黑暗   定义   规则   森林   先进   代码   发现

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top