Операторы break, continue и pass в циклах Python 3

Blog

Циклический код удобен для автоматизации и дублирования задач. С этой целью в Python применяют циклы for и while, они позволяют многократно повторить однотипное действие (задать количество итераций) и даже вносить изменения в условия. Но иногда программе необходимо дать команду на временный пропуск циклической части или ее «куска», чтобы она затем автоматически продолжила работу как обычно. В такой ситуации применяют выражения Break, Continue и Pass.

Операторы Break, Continue И Pass В Циклах Python 3 (1)

Выражение Break

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

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(вне цикла).

Результат запуска будет выглядеть так:

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

Задача приведенного кода — выводить на экран значение переменной number до тех пор, пока она не достигнет 5. На этом он прекращает работу с выводом соответствующей надписи за счет срабатывания break.

Выражение Continue

Следующий вариант — continue. Он позволяет пропустить часть программы при появлении заданного внешнего условия. Система не прерывает работу, а лишь «игнорирует внешние раздражители» и переходит в начало исполняемого кода. Обычно continue размещают после if, указывающего на появление новых факторов.

Приведем пример, где укажем continue:

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

В отличие от предыдущего варианта программа не прервется, а всего лишь пропустит вывод цифры 5. И продолжит работу до появления конечного условия цикла (значение 10). Результат выглядит следующим образом:

Output
Number 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

На практике continue используют, чтобы исключить «зацикливание». Или для игнорирования условного кода с «глубоким вложением», или для оптимизации при регулярном появлении факторов, которые требуется отклонять при выполнении. Преимущество по сравнению с break заключается в исполнении остатков задач.

Выражение Pass

Несколько иначе в Python работает pass. Появление внешнего условия не влияет на исполнение итераций цикла, это позволяет встраивать в код дополнительные задачи, активируемые, например, при достижении 5 переменной number. Чтение будет продолжено вплоть до появления «сигнала» к остановке.

Как и в предыдущих случаях, оператор pass указывают после if, до зацикливания по loop. Заменим его в том же примере:

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

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

Вывод на экран будет выглядеть так:

Output
Number 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

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

Выводы

Мы рассмотрели общие условия того, как используются операторы break, continue и pass в циклах for (и по аналогии в while). Более подробную информацию можно получить в официальной справке языка программирования. Изучать его удобнее при аренде облачных ресурсов cloud.timeweb.com – провайдер поддерживает все актуальные версии Python.

Telegram
VK
Скопировать ссылку

Зарегистрируйтесь и начните пользоваться
сервисами Timeweb Cloud прямо сейчас

15 лет опыта
Сосредоточьтесь на своей работе: об остальном позаботимся мы
165 000 клиентов
Нам доверяют частные лица и компании, от небольших фирм до корпораций
Поддержка 24/7
100+ специалистов поддержки, готовых помочь в чате, тикете и по телефону