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,strebool; - 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:
nomeguarda uma string;idadeguarda um inteiro;alturaguarda um decimal;jediguarda 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→ verdadeiroFalse→ 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