Войти Создать аккаунт

Декораторы · 4 из 14

Имя не теряется

После того как расчёты обернули журналом, в отчёте об ошибке стало появляться загадочное «obertka»: какая именно из пяти обёрнутых функций упала, из отчёта больше не видно. Справка по функции пропала следом.

Что сделать

Сделайте так, чтобы в отчёте об ошибке снова было видно, какая функция упала.

Что приходит

  • rabota — функция с любыми аргументами

Что вернуть

Обёртку, которая отдаёт результат rabota без изменений, а её __name__ и __doc__ — как у rabota.

Допишите функцию bez_poter в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

Перед вызовом
def tarif(gramm):
    """Стоимость по весу в граммах."""
    return gramm // 1000 * 100
f = bez_poter(tarif)
Вызов
(f(2500), f.__name__, f.__doc__)
Вернуть
(200, 'tarif', 'Стоимость по весу в граммах.')
Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.