Использование выражений Break, Continue и Pass при работе с циклами в Python 3

Введение

Использование циклов for и циклов while в Python помогает эффективно автоматизировать и воспроизводить задачи.

Однако иногда на работу вашей программы может влиять внешний фактор. Когда это произойдет, вы можете захотеть, чтобы ваша программа полностью вышла из цикла, пропустила часть цикла и продолжила его выполнение или игнорировала этот внешний фактор. Для этих действий используются выражения break, continue и pass.

Выражение Break

В Python выражение break дает вам возможность выйти из цикла при активации внешнего условия. Выражение break помещается в блок кода внутри выражения loop, обычно после условного выражения if.

Рассмотрим пример использования выражения break в цикле for:

number = 0  for number in range(10):     if number == 5:         break    # break here      print('Number is ' + str(number))  print('Out of loop')  

В этой небольшой программе переменная number инициализируется как 0. Затем выражение for строит цикл, пока значение переменной number составляет меньше 10.

В цикле for имеется выражение if, которое задает условие, что если значение переменной number равно целому числу 5, то цикл прекращается.

В цикле также содержится выражение print(), которое выполняется с каждой итерацией цикла for, пока цикл не прекращается, поскольку оно располагается после выражения break.

Чтобы узнавать о выходе из цикла, мы добавили завершающее выражение print() вне цикла for.

При выполнении этого кода результат будет выглядеть следующим образом:

OutputNumber is 0 Number is 1 Number is 2 Number is 3 Number is 4 Out of loop 

Это показывает, что когда переменная number оценивается как эквивалентная целому числу 5, цикл прекращается, поскольку программа получает соответствующее указание через выражение break.

Выражение break заставляет программу выйти из цикла.

Выражение Continue

Выражение continue дает возможность пропустить часть цикла, где активируется внешнее условие, но при этом выполнить остальную часть цикла. При этом прерывается текущая итерация цикла, но программа возвращается к началу цикла.

Выражение continue размещается в блоке кода под выражением цикла, обычно после условного выражения if.

Мы используем ту же программу с циклом for, что и в разделе «Выражение Break» выше, но при этом используем выражение continue вместо выражения break:

number = 0  for number in range(10):     if number == 5:         continue    # continue here      print('Number is ' + str(number))  print('Out of loop')  

Отличие выражения continue от выражения break заключается в том, что код продолжит выполняться несмотря на прерывание, если значение переменной number будет оценено как равное 5. Давайте посмотрим на результаты:

OutputNumber is 0 Number is 1 Number is 2 Number is 3 Number is 4 Number is 6 Number is 7 Number is 8 Number is 9 Out of loop 

В этом выводе условие Number is 5 никогда не выполняется, но цикл продолжается после этого, чтобы выводить линии для чисел 6–10 до выхода из цикла.

Вы можете использовать выражение continue, чтобы избежать использования глубоко вложенного условного кода или чтобы оптимизировать цикл, устранив часто встречающиеся случаи, которые вы хотите отклонять.

Выражение continue заставляет программу пропустить определенную часть цикла, а затем продолжить выполнение оставшейся части цикла.

Выражение Pass

При активации внешнего условия выражение pass позволяет обрабатывать условия без влияния на цикл; чтение кода будет продолжаться до появления выражения break или другого выражения.

Как и в случае с другими выражениями, выражение pass будет содержаться в блоке кода до выражения loop, обычно после условного выражения if.

Используя тот же код выше, попробуйте заменить выражение break или continue выражением pass:

number = 0  for number in range(10):     if number == 5:         pass    # pass here      print('Number is ' + str(number))  print('Out of loop')  

Выражение pass, появляющееся после условного выражения if, указывает программе на необходимость продолжить выполнение цикла и игнорировать тот факт, что переменная number оценивается как равная 5 во время одной из итераций.

Мы запустим программу и оценим вывод:

OutputNumber is 0 Number is 1 Number is 2 Number is 3 Number is 4 Number is 5 Number is 6 Number is 7 Number is 8 Number is 9 Out of loop 

Используя выражение pass в этой программе, мы видим, что программа работает точно так же, как если бы в ней не было условного выражения. Выражение pass предписывает программе игнорировать это условие и продолжать обычное выполнение программы.

Выражение pass может создавать минимальные классы или выступать в качестве замещающего элемента при работе с новым кодом и действовать на уровне алгоритмов, прежде чем отрабатывать детали.

Заключение

Выражения break, continue и pass в Python позволяют использовать циклы for и while в вашем коде более эффективно.

Чтобы больше поработать с выражениями break и pass, вы можете выполнить учебный модуль нашего проекта «Создание бота Twitterbot с помощью Python 3 и библиотеки Tweepy».