// Tutorial //

Como usar as instruções break, continue, e pass ao trabalhar com loops em Python 3

Published on February 19, 2021
Default avatar
By Lisa Tagliaferri
Developer and author at DigitalOcean.
Português
Como usar as instruções break, continue, e pass ao trabalhar com loops em Python 3

Introdução

O uso de loops do tipo “for” e loops do tipo “while” em Python permite que você automatize e repita tarefas de maneira eficiente.

No entanto, pode acontecer de um fator externo influenciar a maneira como seu programa é executado. Quando isso ocorre, é desejável que seu programa saia de um loop completamente, ignore parte de um loop antes de continuar, ou ignore aquele fator externo. É possível realizar essas ações com as instruções break, continue e pass.

Instrução break

Em Python, a instrução break oferece a possibilidade de sair de um loop quando uma condição externa é acionada. A instrução break será colocada dentro do bloco de código abaixo da sua instrução de loop, geralmente após uma instrução condicional if.

Vamos ver um exemplo que usa a instrução break em um loop do tipo "for":

number = 0

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

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

print('Out of loop')

Neste pequeno programa, o number da variável é inicializado em 0. Em seguida, uma instrução for constrói o loop, desde que o number da variável seja menor que 10.

Dentro do loop for, há uma instrução if que apresenta a condição que se o number da variável for equivalente ao número inteiro 5, então o loop será quebrado.

Dentro do loop também há uma instrução print() que será executada com cada iteração do loop for até que o loop seja quebrado, uma vez que está localizada após a instrução break.

Para saber quando estamos fora do loop, incluímos uma instrução final print() fora do loop for.

Quando executarmos esse código, nosso resultado será o seguinte:

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

Isso mostra que assim que o number é avaliado como equivalente a 5, o loop é interrompido, uma vez que o programa é orientado a fazer isso com a instrução break.

A instrução break faz com que um programa seja interrompido para fora de um loop.

Instrução continue

A instrução continue dá a opção de ignorar a parte de um loop onde uma condição externa é acionada, mas continuar e completar o resto do loop. Ou seja, a iteração atual do loop será interrompida, mas o programa retornará ao topo do loop.

A instrução continue ficará dentro do bloco de código abaixo da instrução de loop, geralmente após uma instrução condicional if.

Usando o mesmo programa de loop for que na seção anterior da Instrução break, usaremos uma instrução continue, em vez de uma instrução break:

number = 0

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

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

print('Out of loop')

A diferença entre usar a instrução continue, em vez de uma instrução break, é que o nosso código continuará apesar da interrupção quando a variável number for avaliada como equivalente a 5. Vamos ver nosso resultado:

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

Aqui, Number is 5 nunca ocorre no resultado, mas o loop continua após esse ponto e imprime linhas para os números 6-10 antes de ser finalizado.

Você pode usar a instrução continue para evitar um código condicional extremamente aninhado, ou para otimizar um loop, eliminando casos que ocorram com frequência e que você gostaria de rejeitar.

A instrução continue faz com que um programa pule certos fatores que surjam dentro de um loop, mas depois continuem pelo restante do loop.

Declaração pass

Quando uma condição externa é acionada, a instrução pass permite lidar com a condição sem que o loop seja impactado; todo o código continuará sendo lido a menos que um break ou outra instrução ocorra.

Assim como ocorre com outras instruções, a instrução pass ficará dentro do bloco de código abaixo da instrução de loop, normalmente após uma instrução condicional if.

Usando o mesmo bloco de código anterior, vamos substituir a instrução break ou continue por uma instrução pass:

number = 0

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

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

print('Out of loop')

A instrução pass que ocorre após a instrução condicional if está dizendo ao programa para continuar executando o loop e ignorar o fato de que a variável number é avaliada como equivalente a 5 durante uma das iterações.

Vamos executar o programa e verificar o resultado:

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

Ao usar a instrução pass neste programa, notamos que o programa é executado exatamente como seria se não houvesse nenhuma instrução condicional no programa. A instrução pass diz ao programa para desconsiderar essa condição e continuar executando o programa como sempre.

A instrução pass pode criar classes mínimas, ou agir como um espaço reservado enquanto estamos trabalhando em novos códigos e pensando em um nível algorítmico antes de construir detalhes.

Conclusão

As instruções break, continue e pass em Python permitem que você use loops for e while com maior efetividade em seu código.

Para trabalhar mais com as instruções break e pass, siga nosso tutorial de projeto “Como criar um Twitterbot com Python 3 e a biblioteca Tweepy.”

If you’ve enjoyed this tutorial and our broader community, consider checking out our DigitalOcean products which can also help you achieve your development goals.

Learn more here


About the authors
Default avatar
Developer and author at DigitalOcean.

Still looking for an answer?

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!