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