Функция foo() вернёт 4.
что вернет функция:
Функция foo() вернёт 4.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
что вернет функция: def foo(): try: return 1 except Exception: return 2 else: return 3 finally: return 4
Ответ
Функция foo() вернёт 4.
Объяснение:
- В блоке
tryпроисходитreturn 1, но перед возвратом значение изtryвыполняется блокfinally. - В блоке
finallyтоже естьreturn 4, который перезаписывает предыдущийreturn.
В итоге, независимо от того, что происходит в try, except или else, функция всегда вернёт значение из finally — то есть 4.