Sobes.tech
Junior — Senior
51

Вывести имя функции, оборачиваемой декоратором, изнутри декоратора

Условие задачи

Внутри декоратора invert необходимо добавить вывод (например, через print) имени функции, которую он принимает и оборачивает. Это позволит увидеть, какая именно функция вызывается при применении декоратора.

from typing import Callable

def invert(func: Callable) -> Callable:
    def wrapper(*args, **kwargs) -> list:
        result = func(*args, **kwargs)
        if isinstance(result, list):
            result = list(map(lambda item: -item, result))
        else:
            raise RuntimeError()
        return result
    return wrapper

После внесения изменения декоратор будет выводить название перед выполнением логики инверсии результата.