Share This
Связаться со мной
Крути в низ
Categories
//Использование блока else в циклах в Python

Использование блока else в циклах в Python

08.10.2020Category : Python

Автор: PythonInDepth

Рассмотрим пример использования ключевого слова else в цикле while:

>>> i = 1  >>> while i < 4: ...     print(i) ...     i += 1 ... else:  ...     print('Вышли из цикла!')

Если выполнить этот цикл, то мы получим:

1 2 3 Вышли из цикла!

Здесь блок else выполняется только тогда, когда условие выхода из цикла перестает быть верным. Особенность здесь в том, что если вывалиться из цикла через break или через исключение, то блок else выполняться не будет.

Это работает не только с циклами while, но и с циклами for:

>>> for value in values: ...     if value == 4: ...         print('Нашли!:)') ...     break ... else: ...     print('Не нашли:(')

И так же можно с try-except блоками. На самом деле исключения в Python это не try-except-finally, а try-except-else-finally, ниже пример:

>>> num = 0 >>> try: ...     result = 1 / num ... except ZeroDivisionError: ...     print('Деление на ноль!') ... else: ...     print('Конечное число.') ... finally: ...     print('Вычисления закончены.') ...  Деление на ноль! Вычисления закончены. 

А если задать num = float(‘Inf’), то в результате деления мы получим 0 и вывод будет:

Конечное число. Вычисления закончены.

Блок finally выполняется в любом случае. А else можно использовать, если нужно выполнить еще какой-то код в случае отсутствия исключений. Например, это может быть полезно в тестах, когда мы хотим логировать, как в случае падения теста на исключении, так и в случае, если исключений брошено не было.

В общем, есть конструкции while-else и for-else, в которых else отрабатывает в случае «штатного» завершения цикла. Еще else можно использовать в try-except блоке, чтобы выполнить какой-то код только в случае успешного выполнения блока try. Во всех случаях использование else позволяет более гибко управлять потоком выполнения.

    Проходите тест по Python и поймите, готовы ли вы идти на курсы
  • 1 views
  • 0 Comment

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Свежие комментарии

    Рубрики

    About Author 01.

    Roman Spiridonov
    Roman Spiridonov

    Привет ! Мне 38 лет, я работаю в области информационных технологий более 4 лет. Тут собрано самое интересное.

    Our Instagram 04.

    Categories 05.

    © Speccy 2020 / All rights reserved

    Связаться со мной
    Close