如何在python中使用多个装饰器?

如何在python中使用多个装饰器?,python,python-decorators,Python,Python Decorators,有人能告诉我哪个功能先被调用,哪个功能最后被调用吗 在这里,内部函数返回funa,b,但不是执行,而是将参数传递给函数iny。这怎么可能 def deco(fun): def inner(a,b): if a<b: a,b=b,a print(a,b) return fun(a,b) return inner def smart(fun): def iny(a,b): a,b=a

有人能告诉我哪个功能先被调用,哪个功能最后被调用吗 在这里,内部函数返回funa,b,但不是执行,而是将参数传递给函数iny。这怎么可能

def deco(fun):
    def inner(a,b):
        if a<b:
            a,b=b,a
        print(a,b)
        return fun(a,b)
    return inner
def smart(fun):
    def iny(a,b):
        a,b=a+1,b+1
        print(a,b)
        return fun(a,b)
    return iny

'''@deco
@smart'''
def div(a,b):
    return a/b
di=deco(smart(div))(4,8)
print(di)

您的代码基本上与以下代码相同:

def diva,b: 返回a/b def smarta,b: a、 b=a+1,b+1 打印A,b 返回女主角,b def decoa,b: 如果