Break, Continue и Pass в Python

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

Break

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

Давайте посмотрим на пример, в котором используется оператор break в цикле for:

number = 0

for number in range(10):
    if number == 5:
        break    # break here

    print('Number is ' + str(number))

print('Вне цикла')

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

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

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

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

Когда мы запустим этот код, наш вывод будет следующим:

Number is 0
Number is 1
Number is 2
Number is 3
Number is 4
Вне цикла

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

Оператор break приводит к выходу программы из цикла.

Continue

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

Оператор continue будет находиться в блоке кода под оператором цикла, обычно после условного оператора if.

Используя ту же программу for loop, что и в приведенном выше разделе инструкции Break, мы будем использовать инструкцию continue, а не инструкцию break:

number = 0

for number in range(10):
    if number == 5:
        continue

    print('Number is ' + str(number))

print('Вне цикла')

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

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
Вне цикла

Здесь число 5 никогда не встречается в выходных данных, но цикл продолжается после этой точки, чтобы напечатать строки для чисел 6-10 перед выходом из цикла.

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

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

Pass

Когда запускается внешнее условие, оператор pass позволяет вам обрабатывать условие без какого-либо воздействия на цикл; весь код будет продолжать считываться, если не произойдет прерывание или другой оператор.

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

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

number = 0

for number in range(10):
    if number == 5:
        pass

    print('Number is ' + str(number))

print('Вне цикла')

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

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

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
Вне цикла

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

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

Вывод

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