В Python, блок 'else' в конструкции 'try' выполняется, если блок 'try' был успешно выполнен без вызова исключения. Это значит, что код внутри блока 'else' будет выполнен только в том случае, если нет никаких ошибок в коде, размещенном в блоке 'try'.
Давайте рассмотрим пример:
try:
num = int(input("Введите число: "))
except ValueError:
print("Это не число!")
else:
print(f"Вы ввели число {num}")
В этом скрипте, потребовано у пользователя ввести число. Если пользователь вводит что-то другое, что не может быть преобразовано в число, тогда генерируется исключение ValueError
, и код в блоке 'except' будет выполнен.
Но если пользователь вводит число корректно, исключение ValueError
не генерируется и код в блоке 'try' выполняется успешно. В таком случае, после выполнения блока 'try', будет выполнен код в блоке 'else'.
Блоки 'else' в Python используются не только в конструкциях 'if' и' try', но и в конструкциях 'for' и 'while'. Общий принцип их работы одинаков: они выполняются, если предыдущие блоки кода были выполнены без ошибок.
Однако стоит учесть, что использование блока 'else' в конструкции 'try' / 'except' не всегда необходимо или рекомендуется. Это считается лучшей практикой, только если вам нужно выполнить определенный код в случае успеха выполнения блока 'try', и этот код не должен выполняться, если генерируется исключение.