По порядку Middle Декораторы обновлено
Когда что выполняется при @retry(3)
Вопрос
Расставьте события по времени для кода @retry(3) над def fetch(): ..., после которого вызывают fetch().
Попробуйте сами
Расставьте шаги по порядку стрелками.
- 1Обёртка вызывает исходную функцию
- 2Вызов
retry(3)возвращает декоратор - 3Декоратор получает функцию
fetchи возвращает обёртку - 4Вызов
fetch()запускает обёртку - 5Имя
fetchпривязывается к обёртке
Показать ответ и разбор
Коротко
Первые три шага происходят при выполнении определения функции, обычно при импорте модуля. Последние два при каждом вызове.
Правильный порядок
- 1Вызов
retry(3)возвращает декоратор - 2Декоратор получает функцию
fetchи возвращает обёртку - 3Имя
fetchпривязывается к обёртке - 4Вызов
fetch()запускает обёртку - 5Обёртка вызывает исходную функцию
Разбор
Первые три шага происходят при выполнении определения функции, обычно при импорте модуля. Последние два при каждом вызове.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.