Не могу разобраться в задаче на декоратор

Есть задача:

Напишите декоратор flip, который делает так, что задекорированная функция принимает все свои неименованные аргументы в порядке, обратном тому, в котором их передали (для аргументов с именем не вполне правильно учитывать порядок, в котором они были переданы)

@flip
def div(x, y, show=False):
    res = x / y
    if show:
        print(res)
    return res
      
div(2, 4, show=True)
#Ответ
>>> 2.0

Как я понял декоратор "flip" меняет "x/y" на "y/x". Вот, что я придумал:

def flip(func):
    def wrapper(*args,**kwargs):
        x,y = args
        for key,value in kwargs.items():
            return func(y,x,key=value)
    return wrapper

Но это код не работает, потому что в функцию "flip" мы принимаем другую функцию "func" и я не понимаю как вытащить из принимаемой функции "func" значения "2, 4, show=True".


Ответы (1 шт):

Автор решения: day383
def flip(func):
    def wrapper(*args, **kwargs):
        return func(*args[::-1], **kwargs)
    return wrapper
→ Ссылка