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

instru illustration for: 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:

				
					
[secondary_label 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:

				
					
[secondary_label 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:

				
					
[secondary_label 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."