Funções em Python: como usar o if
- #Python
Frequentemente na escrita de códigos, é necessário tomar decisões ou realizar diferentes ações com base em requisitos específicos. A função integrada if
executa um bloco de código se uma condição booleana for atendida.
Considerada uma ferramenta de controle de fluxo, ela avalia se a expressão associada é verdadeira ou falsa, seguindo a estrutura:
x = 1000
y = 100
if x > y:
print("x é maior que y")
else:
print("x é menor ou igual a y")
A parte que contém o else
é executada somente se a condição não for atendida, mas é opcional. No caso acima, como 1000 é, de fato, maior que 100, a mensagem “x é maior que y” será exibida na tela.
Importante: É essencial indentar a expressão!
Operadores de comparação
Na maioria das vezes, para retornar um valor True/False, comparamos valores utilizando esses operadores.
Dentre os operadores estão:
- == ➝ analisa se os valores são iguais
if x == y:
print("x é igual a y")
# de acordo com os valores estabelecidos, essas linhas de código serão ignoradas
- != ➝ analisa se os valores são diferentes
if x != y:
print("Os valores de x e y são diferentes")
# esse bloco será executado
- >= / <= ➝ maior ou igual, menor ou igual
Além de analisar apenas se um valor é maior ou menor que o outro, esses operadores verificam também se os valores são iguais.
if x >= y:
if x == y: # Condição 1
print(x, "é igual a", y)
elif x > y: # Condição 2
print(x, "é maior que", y)
A expressão elif
acima é uma palavra-chave do Python que representa uma combinação de “else” com “if”. É possível escrever else if
e obter o mesmo resultado. Assim, esse bloco será executado se, e somente se, a condição 1 não for atendida e a condição 2 for.
Diagrama de funcionamento:
Operadores lógicos
Há, ainda, a possibilidade de combinar mais de uma condição, usando operadores lógicos como “and”, “or” e “not”.
No caso do “or”, basta uma das expressões booleanas ter valor True para que o bloco seja executado. Já no “not”, a condição que segue o operador deve ser Falsa.
if condiçao1 and condiçao2:
print("Ambas as condições são verdadeiras")
elif condiçao1 or condição2:
print("Uma das duas condições é verdadeira")
elif not condiçao1:
print("A condição 1 é falsa")
Lógica Truthy
s = "Sim!"
if s:
print(s)
O código acima pode parecer confuso, uma vez que a variável “s” não é uma expressão booleana. No entanto, a saída será exatamente:
Sim!
Neste caso, “s” foi atribuído um valor considerado “True”, seguindo a lógica Truthy. Essa lógica define diversos valores, considerados “nulos” como falsos: 0, 0.0, None, '', [], {}
. Assim, como a variável “s” possui um valor não-nulo (uma string não vazia) a condição é atendida.
O mesmo pode ser feito com listas, inteiros, decimais, etc.
numero_decimal = 0.0
if numero_decimal:
print("Condição atendida")
# esse bloco não será executado
Operador ternário
É possível também escrever condicionais if de forma mais compacta e simples, em uma única linha.
Dessa forma, podemos atribuir um valor a uma variável dependendo de uma condição específica.
idade = 21
maior_de_idade = True if idade >= 18 else False # Operador ternário
print("É maior de idade?", maior_de_idade)
Neste exemplo, se a condição idade >= 18 for verdadeira, a variável maior_de_idade receberá o valor True; caso contrário, receberá False. O operador ternário é útil quando você deseja realizar uma atribuição com base em uma única condição. A saída será:
É maior de idade? True
Importante: Para expressões mais complexas, que envolvem mais condições e expressões a se executar, não é recomendável utilizar o operador.
Conclusão
Em essência, a função if
é fundamental para a implementação de lógica condicional em Python e é amplamente utilizada em uma variedade de aplicações.
Para entender mais sobre, consulte a seção na documentação Python: https://docs.python.org/pt-br/3/tutorial/controlflow.html