Курс Python → Блок try…finally в Python

При работе с блоком try…finally в Python важно помнить, что инструкции return, break или continue, выполняемые внутри блока try, также повлекут за собой выполнение кода из блока finally. Это означает, что если в блоке finally присутствует инструкция return, она перезапишет любое возвращаемое значение, определенное в блоке try.

Пример такой ситуации можно увидеть на следующем коде:


def test_finally():
    try:
        return "try block"
    finally:
        return "finally block"

result = test_finally()
print(result)  # Выведет "finally block"

В данном примере, функция test_finally содержит блок try, в котором происходит возврат строки «try block». Однако блок finally также содержит инструкцию return, которая перезапишет возвращаемое значение функции. Поэтому при вызове функции и выводе результата на экран, мы увидим строку «finally block».

Важно помнить, что при использовании блока finally в Python следует быть осторожным с инструкциями return или break, так как они могут изменить ожидаемое поведение программы. Также стоит учитывать, что если в блоке finally возникает исключение, оно заменяет исключение, возникшее в блоке try.

Таким образом, при работе с блоками try…finally в Python необходимо учитывать последовательность выполнения инструкций и возможность изменения возвращаемых значений функций. Это поможет избежать непредвиденных ошибок и обеспечит корректную работу программы.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Использование функции enumerate()
  2. Разность множеств
  3. Генераторы и сеты в Python
  4. Основные операции с Numpy
  5. Работа с множествами в Python
  6. Добавление Progressbar в Python
  7. Генератор надежных паролей
  8. Измерение времени выполнения кода
  9. Получение атрибутов и методов класса
  10. Сравнение строк в Python
  11. Создание вкладок с TKinter
  12. Декораторы с @wraps
  13. Извлечение новостей с помощью newspaper3k
  14. Объединение словарей в Python
  15. Настройка логгера Logzero
  16. Карта бомбоубежищ в Москве и Питере
  17. Копирование объектов в Python
  18. Работа с коллекциями Python
  19. Разделение строки с помощью re.split()
  20. Работа с collections.Counter
  21. Функция product() из itertools
  22. Операторы присваивания в Python
  23. Получение размера объекта с sys.getsizeof()
  24. TypedDict для kwargs в Python 3.12
  25. Обработка данных в Python
  26. Метод lt для сортировки объектов
  27. Построение графиков в Matplotlib
  28. Переменная с нижним подчеркиванием
  29. Печать в одной строке
  30. Работа со слайсами
  31. Работа с f-строками 2.0
  32. Поиск самого частого элемента
  33. Перевод текста с Python Translator
  34. Игра Виселица на Python
  35. Операторы Splat и splatty-splat
  36. Создание пар из последовательностей
  37. Ветвление выражения в Python
  38. Работа с набором данных CIFAR10 в PyTorch
  39. Передача словаря через **kwargs
  40. Сохранение и загрузка модели в PyTorch
  41. Многоточие в Python
  42. Работа с timedelta в Python
  43. Создание словаря в Python
  44. Работа с типами данных в Python с помощью pydantic.
  45. Подсчет элементов в Python

Marketello читают маркетологи из крутых компаний