Почему блок finally: выполняется после оператора return в блоке try: в python? - PullRequest
0 голосов
/ 04 ноября 2018

Согласно моему пониманию: возвращение - это значение возврата значения.

Один пример, скрипт python1:

def func():  
    try:  
       print 98  
       return 'ok' 
    finally: 
       print 98  

print fun()  

Вывод скрипта:

98

98

ки

Так что мой вопрос, почему вывод скрипта не такой:

98

OK

98

Почему вывод строки ОК в конце?

1 Ответ

0 голосов
/ 04 ноября 2018

Потому что, когда вы используете

try:
  #some code
finally:
  #some other code

блок finally гарантированно будет выполняться после блока try независимо от того, что происходит в блоке try. Даже если не было сделано никаких исключений.

finally обычно используется для освобождения ресурсов, очистки переменных и т. Д.

...