Operador Ternário do Python

Resumo: neste tutorial, você aprenderá sobre o operador ternário do Python e como usá-lo para tornar seu código mais conciso.

Introdução ao Operador Ternário do Python

O programa a seguir solicita sua idade e determina o preço do ingresso com base nela:

age = input('Enter your age:')

if int(age) >= 18:
    ticket_price = 20
else:
    ticket_price = 5

print(f"The ticket price is {ticket_price}")

Aqui está a saída quando você insere 18:

Enter your age:18
The ticket price is $20

Neste exemplo, a instrução if...else a seguir atribui 20 a ticket_price se age for maior ou igual a 18. Caso contrário, atribui 5 a variavel ticket_price:

if int(age) >= 18:
    ticket_price = 20
else:
    ticket_price = 5

Para torná-lo mais conciso, você pode usar uma sintaxe alternativa como esta:

ticket_price = 20 if int(age) >= 18 else 5

Nesta instrução, o lado esquerdo do operador de atribuição (=) é a variável ticket_price.

A expressão do lado direito retorna 20 se age for maior ou igual 18 ou 5 caso contrário.

A seguinte sintaxe é chamada de operador ternário em Python:

value_if_true if condition else value_if_false

O operador ternário avalia condition. Se o resultado for True, ele retorna o value_if_true. Caso contrário, ele retorna o value_if_false.

O operador ternário é equivalente à seguinte declaração if...else:

if condition:
    value_if_true
else:
    value_if_true

Observe que você tem programado linguagens como C# ou Java e está familiarizado com a seguinte sintaxe de operador ternário:

condition ? value_if_true : value_if_false

No entanto, o Python não oferece suporte a essa sintaxe de operador ternário.

O programa a seguir usa o operador ternário em vez da instrução if:

age = input('Enter your age:')

ticket_price = 20 if int(age) >= 18 else 5

print(f"The ticket price is {ticket_price}")

Resumo

  • O operador ternário do Python é value_if_true if condition else value_if_false.
  • Use o operador ternário para tornar seu código mais conciso.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *