Ir para o conteúdo

A procurar:

← VOLTAR
Python 02 - Tipos de dados primitivos

Python 02 - Tipos de dados primitivos

05/04/2026 · 5 minutos de leitura

Python 02 - Tipos de dados primitivos

Objetivo da aula

Nesta aula vamos entender os tipos de dados primitivos em Python e aprender como a linguagem trata números, textos e valores lógicos.

Ao final da aula, você deverá conseguir:

  • identificar os principais tipos primitivos do Python;
  • criar variáveis com int, float, str e bool;
  • usar a função type() para descobrir o tipo de um dado;
  • converter valores entre tipos quando possível;
  • resolver pequenos problemas usando esses tipos.

Relembrando: o que são dados?

Dados são informações que serão processadas pelo programa. Para que o programa consiga trabalhar com essas informações da forma correta, ele precisa saber qual é o tipo de dado que está recebendo.

Pense assim:

  • um número pode ser usado em contas;
  • um texto pode ser exibido na tela;
  • um valor verdadeiro ou falso pode ser usado para tomar decisões.

Em outras palavras: o tipo do dado ajuda o Python a entender como ele deve tratar aquela informação.

Exemplo do mundo real

Imagine um cadastro de heróis:

  • nome = "Homem-Aranha" → texto;

  • idade = 18 → número inteiro;

  • altura = 1.78 → número decimal;

  • identidade_secreta = True → verdadeiro ou falso.

  • nome = "Homem de Ferro" → texto;

  • idade = 45 → número inteiro;

  • altura = 1.85 → número decimal;

  • identidade_secreta = False → verdadeiro ou falso.

Cada informação tem uma natureza diferente. Por isso, cada uma usa um tipo de dado diferente.


Variáveis e tipos de dados

Uma variável é como uma gaveta onde guardamos informações para usar depois.

nome = "Luke Skywalker"
idade = 19
altura = 1.72
jedi = True

Nesse exemplo:

  • nome guarda uma string;
  • idade guarda um inteiro;
  • altura guarda um decimal;
  • jedi guarda um booleano.

Os principais tipos primitivos em Python

Nesta aula vamos focar em quatro tipos muito importantes:

  • int → números inteiros;
  • float → números decimais;
  • str → textos;
  • bool → verdadeiro ou falso.

Esses são chamados de tipos primitivos, porque são alguns dos tipos mais básicos e mais usados em Python.


1. Números inteiros: int

O tipo int é usado para representar números inteiros, ou seja, números sem casas decimais.

Exemplos

vidas = 3
pontos = 1500
ano = 2026
temperatura = -5

Todos esses valores são inteiros.

Onde usamos int?

  • quantidade de vidas em um jogo;
  • idade de uma pessoa;
  • número de episódios de uma série;
  • pontuação;
  • número de itens no inventário.

Operações com inteiros

x = 10
y = 3
print(x + y) # soma
print(x - y) # subtração
print(x * y) # multiplicação
print(x // y) # divisão inteira

Atenção

Se você escrever:

numero = "10"

isso não é um inteiro. Isso é uma string, porque está entre aspas.


2. Números decimais: float

O tipo float é usado para números com casas decimais.

Exemplos

altura = 1.75
preco = 19.90
nota = 8.5
pi = 3.14159

Onde usamos float?

  • altura e peso;
  • preços;
  • notas;
  • velocidade;
  • porcentagens;
  • médias.

Operações com float

preco1 = 10.50
preco2 = 2.75
total = preco1 + preco2
print(total)

Misturando int e float

idade = 20
altura = 1.80
resultado = idade + altura
print(resultado)

Quando misturamos int com float, o resultado normalmente será float.


3. Strings: str

Strings são usadas para representar textos.

Você pode criar strings com aspas simples ou duplas.

nome = "Alice"
sobrenome = 'Silva'
filme = "O Senhor dos Anéis"

Onde usamos strings?

  • nomes;
  • mensagens;
  • títulos de filmes;
  • diálogos;
  • nomes de personagens;
  • textos digitados pelo usuário.

Juntando textos

Podemos juntar strings com o operador +, que é chamado de concatenação.

nome = "Tony"
sobrenome = "Stark"
nome_completo = nome + " " + sobrenome
print(nome_completo)

Repetindo textos

risada = "ha" * 3
print(risada) # hahaha

Acessando texto

frase = "Python"
print(frase[0]) # P
print(frase[1]) # y

Tamanho da string

nome = "Goku"
print(len(nome))

Atenção importante

Mesmo que pareça número, se estiver entre aspas, continua sendo texto:

poder_luta_goku = "9000"
poder_luta_vegeta = "8500"
poder_total = poder_luta_goku + poder_luta_vegeta
print(poder_total) # 90008500
quanto_custa_uma_pokebola = "59.90"
valor_3_pokebolas = quanto_custa_uma_pokebola * 3
print(valor_3_pokebolas) # 59.9059.9059.90

O que aconteceu?

  • somando as strings, o resultado é a junção dos textos, não a soma dos números.
  • multiplicando a string por um número, o resultado é a repetição do texto, não a multiplicação dos números.

4. Booleanos: bool

Booleanos representam apenas dois valores:

  • True → verdadeiro
  • False → falso

Eles são muito usados em comparações e decisões no programa.

Eles sempre são respostas de perguntas ou condições. Por exemplo:

Exemplos

ligado = True
deu_game_over = False
tem_chave = True
porta_esta_aberta = False

Onde usamos booleanos?

  • o jogador venceu?
  • a porta está aberta?
  • o personagem tem item suficiente?
  • o inimigo foi derrotado?
  • o usuario digitou a senha correta?
  • o usuario é maior de idade?
  • o usuario esta logado?

Comparações geram booleanos

print(10 > 5) # True
print(3 == 7) # False
print(8 != 2) # True

Exemplo prático

vidas = 0
game_over = vidas == 0
print(game_over)

Descobrindo o tipo de um valor com type()

Em Python, podemos usar a função type() para descobrir o tipo de um dado.

print(type(10))
print(type(3.14))
print(type("Olá"))
print(type(True))

Exemplo completo

nome = "Darth Vader"
idade = 45
altura = 2.02
vilao = True
print(type(nome))
print(type(idade))
print(type(altura))
print(type(vilao))

Isso ajuda muito quando estamos aprendendo ou quando ficamos em dúvida sobre o tipo de uma variável.


Conversão de tipos

Às vezes precisamos transformar um tipo em outro.

De string para inteiro

idade_texto = "25"
idade_numero = int(idade_texto)
print(idade_numero)
print(type(idade_numero))

De inteiro para float

numero = 10
decimal = float(numero)
print(decimal)
print(type(decimal))

De número para string

fase = 3
mensagem = "Você está na fase " + str(fase)
print(mensagem)

Cuidado com conversões inválidas

texto = "Olá"
# int(texto) # isso gera erro

Nem todo texto pode virar número.


Comparando tipos na prática

Veja a diferença entre estes valores:

valor1 = 10
valor2 = 10.0
valor3 = "10"
valor4 = True

Agora observe:

print(type(valor1)) # int
print(type(valor2)) # float
print(type(valor3)) # str
print(type(valor4)) # bool

Embora alguns pareçam parecidos, são tipos diferentes e são tratados de formas diferentes pelo Python.


Exemplo guiado: ficha de personagem

Vamos criar uma mini ficha de personagem com tipos diferentes.

nome = "Dr. Strange"
idade = 55
nota_em_feiticos = 9.5
usa_varinha = False
print(nome)
print(idade)
print(nota_em_feiticos)
print(usa_varinha)
print(type(nome))
print(type(idade))
print(type(nota_em_feiticos))
print(type(usa_varinha))

O que esse exemplo mostra?

  • nome é texto;
  • idade é inteiro;
  • nota_em_feiticos é decimal;
  • usa_varinha é booleano.

Exemplo guiado: sistema simples de game

nome_jogador = "Link"
rupees = 125
energia = 87.5
tem_espada_mestra = True
print("Jogador:", nome_jogador)
print("Rupias:", rupees)
print("Energia:", energia)
print("Possui a Espada Mestra?", tem_espada_mestra)

Esse tipo de estrutura aparece o tempo todo em jogos.


Erros comuns de iniciantes

1. Confundir número com texto

idade = "20"

Isso é texto, não número.

2. Esquecer as aspas em strings

nome = Goku

Isso gera erro, porque o Python vai achar que Goku é o nome de uma variável.

O correto é:

nome = "Goku"

3. Escrever booleanos errado

O correto em Python é:

True
False

Não é:

true
false

4. Tentar juntar texto com número sem converter

idade = 18
# print("Idade: " + idade) # gera erro

O correto:

print("Idade: " + str(idade))

Resumo rápido

Tipo Nome Exemplo
int inteiro 10
float decimal 3.14
str texto "Olá"
bool booleano True

Exercícios

1. Raio-x dos dados

Descubra o tipo de cada valor abaixo usando type():

42
"42"
4.2
False
"Homem de Ferro"
"3.14"
100
"True"

Desafio: antes de rodar, tente adivinhar todos.


2. Cadastro do multiverso

Durante a guerra civil, a SHIELD fez um cadastro de heróis de diferentes universos.

Crie variáveis para representar as seguintes informações de um personagem:

  • nome_heroi;
  • nome_real;
  • idade;
  • altura;
  • tem_identidade_secreta;

Exemplo de personagens:

nome_heroi = "Batman"
nome_real = "Bruce Wayne"
idade = 35
altura = 1.88
tem_identidade_secreta = True
poder = "Inteligência e dinheiro"
nome_heroi = "Naruto"
nome_real = "Uzumaki Naruto"
idade = 17
altura = 1.80
tem_identidade_secreta = False
poder = "Ninjutsu"
nome_heroi = "Bob Esponja"
nome_real = "Bob Esponja Calça Quadrada"
idade = 20
altura = 0.95
tem_identidade_secreta = False
poder = "Otimismo"
nome_heroi = "Xitãozinho e Xororó"
nome_real = "José Lima Sobrinho e Durval de Lima"
idade = 50
altura = 1.75
tem_identidade_secreta = True
poder = "Embalar os casais apaixonados"

3. Loja do multiverso

Crie um programa com estas variáveis:

  • nome do produto;
  • preço;
  • quantidade;
  • produto disponível ou não.

Sugestões de produtos:

  • sabre de luz;
  • escudo do Capitão América;
  • pokébola;
  • Anel do Poder;

Depois, mostre uma frase parecida com esta:

produto = "Pokébola"
preco = 59.90
quantidade = 3
disponivel = True
valol_total = preco * quantidade

Tente imprimir:

Produto: Pokébola

Preço: 59.9

Quantidade: 3

Disponível: True

Valor total: 179.7


4. Conversão de poder

Quando Goku se transforma em Super Saiyajin, seu poder de luta é dobrado

poder_goku_normal = "9000"
poder_goku_super_saiyajin = ???

Converta esse valor para inteiro e depois multiplique por 2 para descobrir o poder de Goku em Super Saiyajin.

No final, imprima o resultado.


Fechamento da aula

Hoje você aprendeu que Python trabalha com diferentes tipos de dados, e que cada tipo serve para representar uma categoria de informação.

Você viu:

  • números inteiros com int;
  • números decimais com float;
  • textos com str;
  • valores lógicos com bool.

Também viu como:

  • descobrir tipos com type();
  • converter alguns valores;
  • evitar erros comuns.

Esses conceitos parecem simples, mas são a base de praticamente todo programa.

Na próxima aula, você já poderá usar esses tipos para receber dados do usuário, fazer comparações e começar a tomar decisões dentro do programa.


Quiz

Qual tipo de dado é usado para representar números inteiros em Python?

Resposta certa

Isso mesmo. O tipo int representa números inteiros, como 1, 10 e -5.

Resposta incorreta

Quase. float é usado para números com casas decimais.

Resposta incorreta

Não. str representa textos.

Resposta incorreta

Não. bool representa valores lógicos.

Em Python, qual valor abaixo é um número decimal?

Resposta incorreta

Não. 42 é um número inteiro.

Resposta incorreta

Não. "42" está entre aspas, então é texto.

Resposta certa

Correto. 42.0 é um float, ou seja, um número decimal.

Resposta incorreta

Não. True é um valor booleano.

Qual das opções abaixo é uma string?

Resposta incorreta

Não. 100 é um inteiro.

Resposta incorreta

Não. 9.9 é um número decimal.

Resposta certa

Perfeito. Tudo que está entre aspas é uma string.

Resposta incorreta

Não. False é um booleano.

Quais são os dois valores possíveis do tipo booleano em Python?

Resposta incorreta

Não. Python usa palavras específicas para booleanos.

Resposta incorreta

Embora possam se relacionar em algumas situações, os booleanos em Python são representados de outra forma.

Resposta certa

Certo. Os valores booleanos em Python são True e False.

Resposta incorreta

A ideia está certa, mas em Python os termos corretos são True e False.

O que a função type() faz?

Resposta incorreta

Não. type() não faz contas.

Resposta certa

Exato. type() mostra se o dado é int, float, str, bool e assim por diante.

Resposta incorreta

Não. Para isso usamos funções como int() e float().

Resposta incorreta

Não. Quem exibe mensagens é o print().

Qual é o tipo do valor "18"?

Resposta incorreta

Não. Apesar de parecer número, está entre aspas.

Resposta incorreta

Não. Não é decimal, e continua sendo texto.

Resposta certa

Isso mesmo. "18" é uma string porque está entre aspas.

Resposta incorreta

Não. Não é um valor lógico.

Qual comando converte um texto numérico em inteiro?

Resposta incorreta

Não. type() apenas informa o tipo do valor.

Resposta incorreta

Não. str() faz o contrário: transforma em texto.

Resposta certa

Correto. int("25") converte o texto "25" no número inteiro 25.

Resposta incorreta

Não. bool() não é usada para esse objetivo aqui.

Qual alternativa mostra um booleano escrito corretamente em Python?

Resposta incorreta

Não. Em Python, a primeira letra deve ser maiúscula.

Resposta incorreta

Não. Esse formato está incorreto em Python.

Resposta certa

Perfeito. True é a forma correta.

Resposta incorreta

Não. Python usa True e False.

O que acontece quando somamos um int com um float?

Resposta certa

Exatamente. Ao misturar inteiro e decimal, o resultado costuma ser decimal.

Resposta incorreta

Não. Isso não acontece em uma soma numérica.

Resposta incorreta

Não. Essa operação é permitida.

Resposta incorreta

Não. Booleano não é o resultado esperado aqui.

Qual opção abaixo contém apenas tipos primitivos apresentados nesta aula?

Resposta certa

Muito bem. Esses são os quatro tipos primitivos estudados nesta aula.

Resposta incorreta

Esses também são tipos em Python, mas não foram os tipos primitivos foco desta aula.

Resposta incorreta

Não. Esses são funções, não tipos de dados.

Resposta incorreta

Não. Esses são comandos da linguagem, não tipos.

Resultado

/ 10

acertos