Condições e lógica If-Else do Python

Aprenda instruções condicionais em Python. Descubra como usar if, elif e else para controlar o fluxo de código e tomar decisões em suas aplicações.

Experimente no Editor

Visão geral

Declarações condicionais são a espinha dorsal da tomada de decisões de seus programas Python. Sem condições, um script seria executado cegamente de cima para baixo, fazendo exatamente a mesma coisa toda vez que fosse executado. As condições permitem que seu código inspecione variáveis, entradas do usuário ou estados externos e se ramifique para executar lógicas diferentes com base nessas avaliações.

No centro da lógica condicional está a expressão booleana – uma instrução que é avaliada como `True` ou `False`. Python usa operadores lógicos como `==` (igual), `!=` (diferente de), `>` (maior que) e `<` (menor que) para construir essas expressões. Quando uma expressão é avaliada como `True`, o bloco de código associado é acionado.

A declaração `if` é o ponto de entrada para a tomada de decisão. Você escreve `if`, seguido de sua condição e termina com dois pontos `:`. O bloco de código abaixo deve ser recuado. Python impõe estritamente o recuo para definir o escopo, eliminando a necessidade de chaves `{}` vistas em outras linguagens. Se a condição for verdadeira, o bloco recuado é executado; se for falso, será completamente ignorado.

Para lidar com resultados alternativos, Python fornece cláusulas `elif` (abreviação de else if) e `else`. Você pode encadear quantos blocos `elif` forem necessários para verificar as condições sequenciais. Assim que alguém for avaliado como `True`, seu bloco será executado e o resto da cadeia será ignorado. O bloco `else` fica no final como um pega-tudo, sendo executado apenas se todos os `if` e `elif` anteriores forem avaliados como `False`.

Python também suporta operadores lógicos como `and`, `or` e `not`, permitindo combinar múltiplas condições em regras complexas. Por exemplo, `if age >= 18 and has_license:` requer que ambas as condições sejam verdadeiras. Dominar o fluxo lógico garante que seu aplicativo possa lidar dinamicamente com segurança com diversos cenários de tempo de execução imprevisíveis.

Saída de código e execução

Avaliar códigos de status de rede, rotear com segurança o contexto do fluxo lógico do aplicativo dependendo do valor.

status_code = 404

if status_code == 200:
    print("Success: Page loaded!")
elif status_code == 404:
    print("Error: Page not found.")
elif status_code == 500:
    print("Error: Internal server error.")
else:
    print(f"Unknown status code: {status_code}")
Saída terminal
Error: Page not found.

Implementação passo a passo

  • Validando formulários de entrada do usuário
  • Tratamento de exceções e códigos de erro específicos
  • Roteando usuários dentro de uma estrutura web

Perguntas frequentes

Qual é a instrução "match-case"?

Python 3.10 introduziu a correspondência de padrões estruturais. Funciona como uma instrução switch em outras linguagens, oferecendo uma alternativa mais limpa ao excesso de cadeias elif.

Posso aninhar instruções if?

Sim, você pode colocar instruções if dentro de outras instruções if, mas lembre-se de recuar adequadamente.

Tópicos Relacionados

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.