Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
def check(x):
try:
y = 10 / x
except ZeroDivisionError:
return "zero"
else:
return "ok"
finally:
print("done", end=" ")
print(check(0))done zero
- Ждать
zero, будтоreturnсразу выходит из функции:finallyвыполняется при выходе изtry, даже черезreturn, поэтомуdoneпечатается первым. - Ждать
zero done:finallyвыполняется внутриcheck, до того как функция вернёт"zero", поэтому внешнийprintполучает значение уже послеdone.
- Что напечатает
print(check(5))? - Почему
print("done", end=" ")оставляет оба слова на одной строке?