Логотип YeaHub

Декоратор логирования вызова функции (Function Call Logger Decorator)

2

GoJavaJavaScriptPython

Массивы

Условие:
Напишите декоратор (обёртку) log_calls, который оборачивает произвольную функцию и добавляет логирование вокруг её вызова. Перед вызовом обёрнутой функции декоратор должен вывести сообщение "Before call", затем выполнить саму функцию с переданными аргументами, после чего вывести сообщение "After call". Результат работы обёрнутой функции должен быть возвращён без изменений.

Входные данные:
Функция, принимающая произвольное число аргументов, и сами аргументы для её вызова.

Выходные данные:
Результат выполнения обёрнутой функции (после того как выведены оба лог-сообщения).

Ограничения:

  • Обёрнутая функция может принимать 0 и более аргументов любого простого типа (числа, строки)

  • Обёрнутая функция всегда завершается успешно (без исключений)

  • Порядок вывода строго фиксирован: "Before call" → результат работы функции → "After call"

Пример:
Вход: функция add(a, b), вызов с аргументами (2, 3)
Вывод (логи): Before call, After call
Результат: 5

Loading...