Introduction
Using for loops and while loops in Python allow you to automaate and repeat tasks in an efficient manner.
Mas por vezes, um factor externo pode influenciar a forma como o seu programa funciona. Quando isto ocorre, pode querer que o seu programa saia completamente de um loop, salte parte de um loop antes de continuar, ou ignore esse factor externo. Pode fazer estas acções com break
continue
, e pass
declarações.
Declaração de quebra
Em Python, a declaração break
dá-lhe a oportunidade de sair de um loop quando uma condição externa é desencadeada. Colocará a declaração break
dentro do bloco de código sob a sua declaração de loop, geralmente após uma declaração condicional if
.
Vejamos um exemplo que utiliza a instrução break
numa instrução for
loop:
number = 0for number in range(10): if number == 5: break # break here print('Number is ' + str(number))print('Out of loop')
Neste pequeno programa, a variável number
é inicializada a 0. Depois, uma for
declara constrói o laço desde que a variável number
seja inferior a 10.
Com o for
loop, há uma declaração if
que apresenta a condição de que se a variável number
for equivalente ao número inteiro 5, então o loop irá quebrar.
Within the loop is also a print()
statement that will execute with each iteration of the for
loop until the loop breaks, since it is after the break
statement.
Para saber quando estamos fora do laço, incluímos uma declaração final print()
fora do for
laço.
Quando executamos este código, a nossa saída será a seguinte:
OutputNumber is 0Number is 1Number is 2Number is 3Number is 4Out of loop
Isto mostra que uma vez que o inteiro number
é avaliado como equivalente a 5, o laço quebra-se, como se diz ao programa para o fazer com a declaração break
.
A instrução break
provoca a quebra de um programa de um laço.
Continuar a instrução
A instrução continue
dá-lhe a opção de saltar a parte de um laço onde uma condição externa é desencadeada, mas continuar para completar o resto do laço. Ou seja, a actual iteração do laço será interrompida, mas o programa regressará ao topo do laço.
O continue
declaração estará dentro do bloco de código sob a declaração do laço, geralmente após uma declaração condicional if
declaração.
usando a mesma for
programa de loop como na secção Declaração de Intervalo acima, usaremos uma declaração continue
em vez de uma declaração break
declaração:
number = 0for number in range(10): if number == 5: continue # continue here print('Number is ' + str(number))print('Out of loop')
A diferença no uso da declaração continue
em vez de uma declaração break
é que o nosso código continuará apesar da interrupção quando a variável number
for avaliada como equivalente a 5. Vejamos a nossa saída:
OutputNumber is 0Number is 1Number is 2Number is 3Number is 4Number is 6Number is 7Number is 8Number is 9Out of loop
Here, Number is 5
nunca ocorre na saída, mas o laço continua após esse ponto para imprimir linhas para os números 6-10 antes de sair do laço.
Pode utilizar a declaração continue
para evitar código condicional profundamente aninhado, ou para optimizar um laço eliminando os casos frequentes que gostaria de rejeitar.
A declaração continue
faz com que um programa salte certos factores que surgem dentro de um laço, mas depois continue através do resto do laço.
Declaração de passagem
Quando uma condição externa é desencadeada, a declaração pass
permite lidar com a condição sem que o laço seja afectado de qualquer forma; todo o código continuará a ser lido a menos que ocorra uma break
ou outra declaração.
Como nas outras declarações, a declaração pass
estará dentro do bloco de código sob a declaração do laço, normalmente após uma declaração condicional if
.
usando o mesmo bloco de código que acima, vamos substituir a declaração break
ou continue
por uma declaração pass
:
number = 0for number in range(10): if number == 5: pass # pass here print('Number is ' + str(number))print('Out of loop')
O pass
declaração que ocorre após o if
declaração condicional está a dizer ao programa para continuar a executar o laço e ignorar o facto de que a variável number
avalia como equivalente a 5 durante uma das suas iterações.
Vamos executar o programa e considerar o resultado:
OutputNumber is 0Number is 1Number is 2Number is 3Number is 4Number is 5Number is 6Number is 7Number is 8Number is 9Out of loop
Utilizando a declaração pass
neste programa, notamos que o programa corre exactamente como correria se não houvesse uma declaração condicional no programa. A declaração pass
diz ao programa para ignorar essa condição e continuar a executar o programa como habitualmente.
A declaração pass
pode criar classes mínimas, ou agir como um espaço reservado quando se trabalha num novo código e se pensa a um nível algorítmico antes de martelar os detalhes.
Conclusion
The break
continue
, e pass
declarações em Python permitir-lhe-ão usar for
loops e while
loops mais eficazmente no seu código.
Para trabalhar mais com break
e pass
declarações, pode seguir o nosso tutorial do projecto “Como Criar um Twitterbot com Python 3 e a Biblioteca Tweepy”