Поиск по сайту:

Как использовать операторы break, continue и pass при работе с циклами в Python 3


Введение

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

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

Предпосылки

У вас должен быть установлен Python 3 и настроена среда программирования на вашем компьютере или сервере. Если у вас не настроена среда программирования, вы можете обратиться к руководствам по установке и настройке среды программирования на вашем сервере, подходящей для вашей операционной системы (Ubuntu, CentOS, Debian и т. д.).

Заявление о перерыве

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

Информация: Чтобы следовать примеру кода в этом руководстве, откройте интерактивную оболочку Python в вашей локальной системе, выполнив команду python3. Затем вы можете копировать, вставлять или редактировать примеры, добавляя их после приглашения >>>.

Давайте рассмотрим пример использования оператора 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, представляющий условие, согласно которому if переменная number эквивалентна целое число 5, тогда цикл разорвется.

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

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

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

Output
Number 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. Давайте рассмотрим наш вывод:

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

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

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

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

Заявление о пропуске

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

Как и в случае с другими операторами, оператор pass будет находиться в блоке кода под оператором цикла, обычно после условного оператора 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 во время одной из его итераций.

Запустим программу и посмотрим на результат:

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 Out of loop

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

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

Заключение

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

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