Como funciona este if/else com '?' e ':'?
O if/else
é uma estrutura de controle condicional comumente utilizada em programação para tomar decisões com base em uma condição. No entanto, existe uma sintaxe alternativa, conhecida como operador ternário (? :
), que permite escrever uma declaração condicional mais concisa em uma única linha.
A sintaxe básica do operador ternário é a seguinte:
condicao ? expressao1 : expressao2
Essa expressão é uma forma abreviada do if/else
, onde a condicao
é uma expressão booleana que é avaliada. Se a condicao
for verdadeira, a expressao1
é executada, caso contrário, a expressao2
é executada.
Por exemplo, suponha que queremos atribuir um valor à variável maior
com base em duas variáveis a
e b
, cujo valor será o maior dos dois. Usando a instrução if/else
, poderíamos escrever o código assim:
if a > b:
maior = a
else:
maior = b
Utilizando o operador ternário, o código acima pode ser reescrito de forma mais concisa:
maior = a if a > b else b
Nesse exemplo, a condicao
é a > b
, a expressao1
é a
e a expressao2
é b
. Se a
for maior que b
, a
será atribuído a maior
, caso contrário, b
será atribuído.
É importante ter em mente que a utilização do operador ternário pode deixar o código mais compacto, mas também pode torná-lo menos legível em situações complexas. É preciso avaliar o equilíbrio entre concisão e clareza ao utilizar essa sintaxe.