Article image

MC

Mariana Conde11/01/2024 13:07
Compartilhe

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:

image

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

Compartilhe
Comentários (0)