Нет, finally
используется только с try
. Его цель - запустить некоторый код после try
и / или любого except
блока, независимо от того, вызвал ли код в блоке try
исключение. Блок finally
выполняется сразу после блока try
или except
, без задержки до конца программы. См. официальную документацию для более подробного объяснения.
finally
полезно, если вам нужно очистить некоторые ресурсы перед продолжением. Например:
f = open('myfile.txt')
try:
f.write('blabla') # This might raise an exception, for example if the disk is full
finally:
f.close() # Close the file whether the write failed or not.
Без finally
нам пришлось бы повторить оператор очистки, например:
f = open('myfile.txt')
try:
f.write('blabla')
except:
f.close()
raise
f.close()
В Python это почти всегда лучше использовать блок with
вместо try
/ finally
.
Наконец, в вашем примере вы также можете написать:
if condition:
print('something')
else:
print('something else')
print('I will always run')