Короткое замыкание

Поговорим о логических операциях. Допустим у нас есть цепочка из or:  Чтобы print сработал, нужно, чтобы хотя бы один из трех вызовов давал бы True (или приводился к True). Что если x() сразу вернет True? Тогда, очевидно, все выражение будет равняться True в любом случае и независимо от того, что будет в y() и z().…

Тонкости try

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