Como usar o operador ternário em Python (expressões condicionais)

Aprenda como escrever expressões condicionais (operadores ternários) em Python. Compare as condições in-line com os blocos if-else padrão.

Experimente esta solução no Editor

Visão geral

Escrever lógica condicional é uma parte essencial da programação. Freqüentemente, você precisará atribuir um valor a uma variável com base no fato de uma condição ser verdadeira ou falsa. Por exemplo, definir um rótulo de status como "Ativo" se um usuário estiver online ou atribuir "Convidado" se nenhum nome de usuário for fornecido.

Embora uma instrução `if-else` padrão ocupe 4 linhas de código, Python fornece uma abreviação concisa conhecida como operador ternário ou expressão condicional. Ele permite avaliar condições e atribuir valores dentro de uma única linha lógica. A sintaxe é: `value_if_true if condição else value_if_false`.

O operador ternário é altamente legível quando usado para avaliações simples e pode ser colocado diretamente em compreensões de lista, instruções de retorno e chamadas de função. No entanto, aninhar vários operadores ternários é uma má prática porque rapidamente se torna ilegível. Se sua lógica condicional for complexa, escreva blocos `if-elif-else` padrão.

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

Este script demonstra a escrita de instruções condicionais embutidas usando operadores ternários Python e as compara com blocos if-else padrão.

ternary_operator.py
Experimente no Editor
status = "active"

# 1. Traditional if-else assignment
if status == "active":
    label = "System Online"
else:
    label = "System Offline"
print("Traditional label:", label)

# 2. Pythonic ternary operator assignment (Equivalent)
label_ternary = "System Online" if status == "active" else "System Offline"
print("Ternary label:", label_ternary)

# 3. Using ternary operator inside a print statement
score = 85
print(f"Result: {'Pass' if score >= 50 else 'Fail'}")
Saída terminal
Traditional label: System Online
Ternary label: System Online
Result: Pass

Implementação passo a passo

  • Estruture sua expressão ternária como: true_value if condição else false_value.
  • Use a instrução ternária embutida dentro de atribuições de variáveis para reduzir o espaço do código.
  • Evite aninhar operadores ternários (por exemplo, a if b else c if d else e) para preservar a legibilidade limpa.

Perguntas frequentes

Os operadores ternários do Python são mais lentos que os blocos if-else padrão?

Não, eles têm desempenho idêntico porque compilam nas mesmas operações de bytecode. Escolha a sintaxe mais legível para o contexto.

Posso executar instruções em vez de retornar valores dentro de um operador ternário?

Não, o operador ternário é uma expressão, o que significa que deve ser avaliado como um valor. Você não pode escrever instruções (como atribuições ou imprimir palavras-chave) dentro das ramificações.

Tópicos Relacionados

Recursos Python recomendados

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