Tutorial

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

Published on February 20, 2021
Русский
Использование выражений Break, Continue и Pass при работе с циклами в Python 3

Введение

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

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

Выражение Break

В 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.

При выполнении этого кода результат будет выглядеть следующим образом:

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 дает возможность пропустить часть цикла, где активируется внешнее условие, но при этом выполнить остальную часть цикла. При этом прерывается текущая итерация цикла, но программа возвращается к началу цикла.

Выражение 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

В этом выводе условие Number is 5 никогда не выполняется, но цикл продолжается после этого, чтобы выводить линии для чисел 6–10 до выхода из цикла.

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

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

Выражение Pass

При активации внешнего условия выражение 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 во время одной из итераций.

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

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».

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about our products

About the authors

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


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!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Become a contributor for community

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

DigitalOcean Documentation

Full documentation for every DigitalOcean product.

Resources for startups and SMBs

The Wave has everything you need to know about building a business, from raising funding to marketing your product.

Get our newsletter

Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.

New accounts only. By submitting your email you agree to our Privacy Policy

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.