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 执行 # 黑暗森林