Python · Intermediário · Português · Técnico
else de laço
Cláusula else de for ou while, executada só se o laço terminar normalmente, sem ser interrompido por break. É útil em buscas que podem não achar nada.
Onde usar
Evita uma variável de controle como 'achou' em laços de busca. Costuma surpreender quem lê, então vale um comentário curto explicando.
Em código
for n in [2, 4, 6]:
if n % 2:
print('ímpar', n)
break
else:
print('todos pares')Exemplos
Use else no for para tratar o caso em que nada foi encontrado.
O else do laço só é pulado se houver um break.
Cuidado
O else do laço não é um 'senão' da condição: roda quando não houve break, até mesmo se o laço não tiver nenhuma iteração.
Sinônimos
for-else