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

Вступление

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

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

Перерыв Заявление

В 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('Out of loop')

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

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

Внутри цикла также есть оператор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 Statement выше, мы будем использовать оператор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 будет находиться в блоке кода под оператором цикла, обычно после условного оператора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, вы можете следовать нашему руководству по проекту «https://www.digitalocean.com/community/tutorials/how-to-create-a-twitterbot-with- python-3-and-the-tweepy-library [Как создать Twitter-бота с Python 3 и библиотекой Tweepy] ».