У каждого, наверное, было: пишешь в интерпретаторе exit, а он: Что же такое exit? Оказывается это такой класс, а текст — это всего лишь его repr: А еще есть quit – он тоже из этой семьи: Что же приходит при вывозе такого класса? Просто бросается исключение SystemExit, которое, между прочим, можно поймать. Попробуйте: Есть еще…
Метка: обработка исключений
Многоликий else
Все знают, что ключевое слово else служит для выполнения альтернативной ветки кода, если условие if не выполнилось: Но знали ли вы, что есть еще два примения else? 1. for/else, while/else Если поставить else после тела цикла, то код по else будет выполнен только в том случае, если цикл завершился «нормально», т.е. в цикле не исполнилось…
Тонкости try
Что вернет функция foo()? Правильный ответ будет ‘finally’: Дело в том, что функция возвращает результат последнего выполненного return. А, учитывая, что блок finally всегда выполняется, то будет выполнено два return, последний из них будет return ‘finally’. Что будет при вложенных блоках finally? Вывод: Как видим срабатывают все return (срабатывают, значит вычисляются аргументы выражения return), но…