Многоликий else

Все знают, что ключевое слово else служит для выполнения альтернативной ветки кода, если условие if не выполнилось: Но знали ли вы, что есть еще два примения else? 1. for/else, while/else Если поставить else после тела цикла, то код по else будет выполнен только в том случае, если цикл завершился «нормально», т.е. в цикле не исполнилось…

Тонкости try

Что вернет функция foo()? Правильный ответ будет ‘finally’: Дело в том, что функция возвращает результат последнего выполненного return. А, учитывая, что блок finally всегда выполняется, то будет выполнено два return, последний из них будет return ‘finally’. Что будет при вложенных блоках finally? Вывод: Как видим срабатывают все return (срабатывают, значит вычисляются аргументы выражения return), но…