Operador condicional ternário em Python

Syed Moiz Haider 30 janeiro 2023
  1. Use o operador ternário em Python 2.5 e superior
  2. o operador ternário em Python usando tupla
  3. o operador ternário usando lambda para versões anteriores a 2.5 em Python
Operador condicional ternário em Python

Este tutorial definirá diferentes métodos para usar o operador ternário em Python. Existe uma maneira diferente de usar o operador ternário em Python em comparação com outras linguagens de programação. Existem várias maneiras de usar operadores ternários de acordo com a compatibilidade com a versão Python. O tutorial fornecerá códigos de exemplo para explicar como usar o operador ternário em diferentes versões do Python.

Use o operador ternário em Python 2.5 e superior

O operador condicional ternário foi adicionado no Python 2.5. O operador ternário é definido como o operador que recebe três operandos. Neste método, primeiro, a condição dada é avaliada, então um dos valores é avaliado e enviado de volta com base no operador booleano. Primeiro, leva a expressão e, em seguida, vem a condição novamente, seguida pela parte else da expressão.

A sintaxe do operador ternário em Python é a seguinte.

value_if if condition else value_else

Como o operador ternário avalia primeiro a condition, ele permite um curto-circuito e apenas uma das duas expressões será avaliada. Se condition for verdadeira, a primeira expressão value_if é avaliada, caso contrário, a segunda expressão value_else é avaliada.

O código de exemplo abaixo demonstra como usar os operadores ternários em Python.

a = 2
b = 0
1 if a > b else 0

Resultado:

1

A saída do operador condicional ternário pode ser atribuída a uma variável, conforme mostrado no código de exemplo abaixo.

a = 2
b = 0
temp = a if a > b else b
print(temp)

Resultado:

2

o operador ternário em Python usando tupla

O operador ternário em Python pode ser usado usando tuplas. Leva as expressões a serem avaliadas e uma declaração condicional booleana. A expressão a ser retornada depende da condição booleana. Se a condição for verdadeira, o primeiro valor será retornado e, se a expressão for falsa, o segundo valor será retornado. No entanto, em qualquer caso, este método avaliará tudo em vez de apenas a expressão vencedora.

Um exemplo de código é fornecido abaixo para demonstrar como esse operador ternário pode ser usado em Python usando tupla.

a, b = 12, 43
temp = (a * 2, b / 2)[a < b]
print(temp)

Resultado:

21.5

o operador ternário usando lambda para versões anteriores a 2.5 em Python

Para versões anteriores ao Python 2.5, os operadores ternários podem ser usados ​​com lambda. Este método leva os valores a serem retornados e uma expressão booleana. Este método segue uma técnica de avaliação preguiçosa na qual o processo de avaliação é atrasado até que seu valor seja necessário. É uma abordagem melhor do que o método da tupla neste sentido. A expressão neste método é dada como (falseValue, trueValue)[Test](). Se a condição de teste for avaliada como True, o trueValue será impresso; caso contrário, falseValue é impresso.

Um exemplo de código é fornecido abaixo para descrever como o operador ternário pode ser usado com lambda em Python.

val1, val2 = 12, 43

output = (lambda: val2, lambda: val1)[val1 > val2]()

print(output)

Resultado:

43
Syed Moiz Haider avatar Syed Moiz Haider avatar

Syed Moiz is an experienced and versatile technical content creator. He is a computer scientist by profession. Having a sound grip on technical areas of programming languages, he is actively contributing to solving programming problems and training fledglings.

LinkedIn

Artigo relacionado - Python Operator