Всем привет! Сегодня хотел бы обсудить очень простой, но, на мой взгляд, интересный вопрос по Python и его внутреннему устройству. Как вы думаете, что вернёт эта функция:
def foo():
try:
return 1
finally:
return 2
Если вам интересно, что получится в результате и как это работает, добро пожаловать под кат.
Прежде чем давать ответ, давайте разберёмся, что происходит. Для начала рассмотрим самую простую функцию:
def foo():
return 1
Распечатаем её байт код: