Использование циклов for и циклов while в Python помогает эффективно автоматизировать и воспроизводить задачи.
Однако иногда на работу вашей программы может влиять внешний фактор. Когда это произойдет, вы можете захотеть, чтобы ваша программа полностью вышла из цикла, пропустила часть цикла и продолжила его выполнение или игнорировала этот внешний фактор. Для этих действий используются выражения break
, continue
и pass
.
В 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
размещается в блоке кода под выражением цикла, обычно после условного выражения 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
позволяет обрабатывать условия без влияния на цикл; чтение кода будет продолжаться до появления выражения 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».
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!