Números inteiros e decimais

Conheça os tipos int e float, usados para representar números no programa.

Na nossa vida cotidiana, os números estão em toda parte: contamos quantas moedas temos na carteira, medimos nossa altura, verificamos a temperatura do dia e acompanhamos os minutos no relógio.

No Python não é diferente. Para lidar com todas essas situações, a linguagem possui duas formas principais de representar números: os números inteiros e os números decimais.

Números não usam aspas

Antes de conhecermos cada tipo de número, precisamos lembrar de uma regra muito importante: números no Python são escritos diretamente, sem aspas.

Se você colocar um número entre aspas, o Python vai achar que ele é um texto (uma string).

Observe a diferença:

# Isto é um número inteiro (int). Podemos fazer contas com ele!
idade = 15

# Isto é um texto (string). O Python trata como palavra
idade_texto = "15"

[!IMPORTANT] Se você tentar somar idade + 5, o Python retornará 20. Se tentar somar idade_texto + 5, o Python mostrará uma mensagem de erro, pois não sabe como somar um texto com um número.

Números inteiros (o tipo int)

Os números inteiros são chamados de int no Python (abreviação de integer, que significa inteiro em inglês).

Eles representam números completos, ou seja, sem nenhuma parte quebrada ou decimal. Podem ser positivos, negativos ou o próprio zero.

A analogia da contagem física

Pense nos números inteiros como coisas que você conta por inteiro no dia a dia, sem dividir em pedaços:

  • Quantas pessoas estão na sala? (Podem ser 3 ou 4, mas nunca 3 e meia).
  • Quantos gols seu time marcou? (Podem ser 2 ou 0, mas nunca 1,5 gol).
  • Qual é a sua idade em anos completos?

Veja alguns exemplos no código:

quantidade_produtos = 12
gols_partida = 3
temperatura_congelador = -5

Números decimais (o tipo float)

Os números decimais — aqueles que possuem uma parte "quebrada" depois da vírgula — são chamados de float no Python (abreviação de floating point, ou ponto flutuante em inglês).

Por que "ponto flutuante"?

Esse nome técnico existe porque, nos bastidores do computador, a forma como o número é guardado permite que a posição do ponto decimal "flutue" para representar números muito grandes ou muito pequenos com precisão.

A analogia das medições precisas

Pense nos números decimais como medições ou valores que naturalmente possuem frações:

  • O preço de um chocolate: R$ 4,99.
  • A altura de uma pessoa: 1,75 metro.
  • O peso de um pacote de laranjas: 2,5 quilos.

A regra de ouro: ponto em vez de vírgula

No Brasil, costumamos usar a vírgula para separar a parte inteira da decimal (como em 1,75). Porém, como o Python segue o padrão internacional, devemos sempre usar o ponto (.) para separar os decimais.

# Certo: usa o ponto
altura = 1.75
preco_chocolate = 4.99

# Errado: usar vírgula causará erros no código
# altura = 1,75 

[!WARNING] Se você usar uma vírgula (como em altura = 1,75), o Python achará que você está criando uma coleção de dois números diferentes (o 1 e o 75), o que causará confusão no programa.

Como descobrir o tipo de número? (A função type())

Se você estiver em dúvida se uma variável armazena um número inteiro (int) ou decimal (float), o Python possui um ajudante muito útil: a função type() (que significa "tipo" em inglês).

Ao passar uma variável ou valor para ela dentro do print(), o Python responde qual é o tipo correspondente:

idade = 25
altura = 1.75

print(type(idade))
print(type(altura))

O computador mostrará a resposta assim:

<class 'int'>
<class 'float'>

Aqui, class 'int' indica que o valor pertence à classe de números inteiros, e class 'float' indica que pertence à classe de números decimais. Não se preocupe com o termo 'classe' por enquanto — ele será explicado em lições futuras.

O exemplo nos confirma que idade é do tipo int (inteiro) e altura é do tipo float (decimal).

Operações matemáticas simples

Podemos realizar as operações matemáticas clássicas combinando variáveis do tipo int e float:

soma = 10 + 5.5        # Resultado: 15.5 (float)
subtracao = 20 - 5     # Resultado: 15 (int)
multiplicacao = 4 * 2  # Resultado: 8 (int)

Perceba que, quando misturamos um número inteiro com um decimal em uma mesma operação, o Python converte o resultado para o tipo float automaticamente, garantindo que nenhuma parte decimal seja perdida.

O segredo da divisão

Existe um comportamento muito importante na divisão no Python: toda divisão comum usando a barra (/) resulta em um número do tipo float, mesmo que a divisão seja exata.

resultado = 4 / 2
print(resultado)
print(type(resultado))

O resultado impresso será:

2.0
<class 'float'>

O Python converteu o resultado em 2.0 (tipo float) para garantir que qualquer resto de divisão futura não seja perdido.

O que aprendemos nesta lição

Nesta lição, você aprendeu que:

  • Números no Python devem ser escritos diretamente, sem aspas.
  • int é o tipo usado para números inteiros (como contagem de coisas completas).
  • float é o tipo usado para números decimais (como medidas e valores monetários).
  • No Python, usamos o ponto (.) e nunca a vírgula para decimais.
  • A função type() serve para descobrir o tipo de dado de uma variável.
  • Qualquer divisão feita com a barra / sempre retorna um valor do tipo float.

Na próxima lição, vamos aprender como trabalhar com variáveis booleanas, que nos permitem representar "Sim" / "Não" no Python.