
Principais tipos de dados em Python: o que são e como utilizá-los

Descobrir e explorar as possibilidades de um programa em Python pode ser uma maneira incrível de começar sua jornada na programação. Python é uma linguagem muito acessível e poderosa, que permite desde tarefas simples, como entrada e saída de dados, até a criação de gráficos complexos e manipulação de arquivos.
Neste artigo, vamos apresentar exemplos práticos de códigos Python prontos, permitindo que você aprenda fazendo. Vamos abordar desde conceitos básicos, como variáveis e operações matemáticas, até aplicações mais avançadas, como verificadores de números primos e calculadoras de desconto.
Todos esses exemplos de códigos Python foram desenvolvidos para você copiar e ter um ponto de partida para criar seus próprios projetos, então aproveite!
A função print()
é essencial em Python e serve para exibir informações na tela. Veja como é simples exibir a mensagem “Olá, Mundo!”:
print("Olá, Mundo!")
TestarNeste código, estamos utilizando print()
para exibir uma string. Isso é útil para depurar código e fornecer feedback aos usuários. Por exemplo, um programa com múltiplas mensagens pode ser escrito assim:
print("Bem-vindo ao programa de exemplo!")
print("Por favor, siga as instruções abaixo:")
print("Programa concluído com sucesso!")
TestarCada print()
imprime uma mensagem, uma após a outra. Entretanto, um erro comum seria esquecer de fechar aspas ou parênteses, como em print("Olá, Mundo!)
, o que resulta em um erro de sintaxe.
A função input()
captura dados do usuário, permitindo a criação de programas interativos. Por exemplo, para capturar o nome do usuário e saudá-lo:
nome = input("Digite seu nome: ")
print(f"Olá, {nome}!")
Aqui, input()
exibe um prompt e armazena a entrada do usuário na variável nome
. Em seguida, print()
exibe uma saudação personalizada. Um exemplo mais completo:
nome = input("Digite seu nome: ")
idade = input("Digite sua idade: ")
print(f"Olá, {nome}! Você tem {idade} anos.")
Este código solicita nome e idade do usuário e exibe uma mensagem respectiva, mas é comum esquecer que input()
sempre retorna uma string. Então, para operar com números, use int()
para converter, como idade = int(idade)
.
Variáveis são fundamentais, pois armazenam valores que podem ser utilizados e manipulados. Por exemplo, vamos definir variáveis de diferentes tipos:
nome = "Asimov Academy" # String
idade = 5 # Inteiro
esta_ativo = True # Booleano
print("Nome:", nome)
print("Idade:", idade)
print("Está ativo?", esta_ativo)
TestarAqui, nome
é uma string, idade
é um número inteiro e is_active
é um valor booleano. Usar variáveis facilita mudanças no código sem precisar alterar múltiplos pontos. Aliás, sem variáveis, cada ocorrência do valor teria de ser alterada manualmente.
Listas são sequências ordenadas de dados, anotadas com colchetes []
. Elas permitem armazenar múltiplos valores em uma única variável:
numeros = [1, 2, 3, 4, 5]
numeros.append(6)
for numero in numeros:
print(numero)
TestarNeste exemplo, criamos uma lista numeros
e adicionamos um novo número a ela usando append()
. Em seguida, iteramos sobre a lista com um loop for
. No entanto, se tentarmos acessar um índice que não existe, isso resultará em um “índice fora do intervalo”. Portanto, verifique o tamanho da lista para evitar isso.
Dicionários armazenam pares chave-valor e são muito úteis para mapear uma chave a um valor.
aluno = {
"nome": "João",
"idade": 20,
"curso": "Engenharia"
}
aluno["matriculado"] = True
for chave, valor in aluno.items():
print(f"{chave}: {valor}")
TestarNeste exemplo, criamos um dicionário aluno
e adicionamos uma nova chave-valor. Usamos for chave, valor in aluno.items()
para iterar e exibir cada par chave-valor. Porém, tentar acessar uma chave inexistente resulta em “chave não encontrada”. Evite isso verificando a existência da chave antes do acesso.
Para realizar operações matemáticas, Python utiliza operadores como +
para soma, -
para subtração, *
para multiplicação e /
para divisão.
a = 5
b = 3
soma = a + b
subtracao = a - b
multiplicacao = a * b
divisao = a / b
print(f"Soma: {soma}, Subtração: {subtracao}, Multiplicação: {multiplicacao}, Divisão: {divisao}")
TestarAqui, a
e b
são somados, subtraídos, multiplicados e divididos. A saída formatada com f-string
exibe os resultados. A divisão sempre retorna um número de ponto flutuante.
a = 5
b = 3
resto = a % b # Módulo
potencia = a ** b # Exponenciação
print(f"Resto da divisão: {resto}, {a} elevado a {b} é: {potencia}")
TestarNeste exemplo, %
encontra o resto da divisão e **
eleva a
à potência b
.
Divisão por zero gera um ZeroDivisionError
. Utilize try-except
para tratar isso:
a = 5
try:
resultado = a / 0
except ZeroDivisionError:
print("Erro: divisão por zero não é permitida.")
TestarEstruturas condicionais permitem que o programa tome decisões baseadas em condições. A palavra-chave if
é usada para isso.
idade = 20
if idade >= 18:
print("Você pode dirigir.")
else:
print("Você não pode dirigir.")
TestarAqui, if
verifica se idade
é maior ou igual a 18. Dependendo do resultado, imprime a mensagem correspondente.
elif
temperatura = 25
if temperatura > 30:
print("Está muito quente.")
elif temperatura > 20:
print("Está quente.")
elif temperatura > 10:
print("Está agradável.")
else:
print("Está frio.")
TestarEste exemplo utiliza elif
para verificar múltiplas condições.
idade = 15
altura = 1.60
if idade >= 12:
if altura >= 1.50:
print("Você pode entrar no brinquedo.")
else:
print("Você não tem altura suficiente para entrar no brinquedo.")
else:
print("Você não tem idade suficiente para entrar no brinquedo.")
TestarAqui, temos uma estrutura condicional aninhada verificando idade e altura. A indentação correta é crucial para evitar erros de sintaxe.
Estruturas de repetição executam um bloco de código várias vezes. As principais são for
e while
.
valores = [10, 20, 30, 40, 50]
for valor in valores:
print(f'O valor atual é: {valor}')
TestarO for
itera sobre a lista valores
, imprimindo cada elemento.
x = 0
while x < 10:
print(f'x é atualmente: {x}')
x += 1
TestarO while
continua a execução enquanto a condição x < 10
for verdadeira.
numero = 1
while numero <= 5:
if numero % 2 == 0:
print(f'{numero} é par')
else:
print(f'{numero} é ímpar')
numero += 1
TestarEste código verifica se numero
é par ou ímpar, incrementando numero
a cada iteração.
Funções permitem agrupar código que executa uma tarefa específica, tornando-o mais modular e reutilizável. Existem funções definidas com def
e funções lambda.
def diga_ola():
print('Olá!')
diga_ola()
TestarAqui, def diga_ola():
define a função diga_ola
, que simplesmente imprime uma mensagem ao ser chamada.
def saudar(nome):
return f'Olá, {nome}!'
mensagem = saudar('Asimov')
print(mensagem)
TestarA função greet(nome)
recebe um argumento nome
e retorna uma saudação.
Funções lambda são funções anônimas e concisas.
soma = lambda x, y: x + y
resultado = soma(3, 5)
print(resultado)
TestarAqui, lambda x, y: x + y
define uma função que soma x
e y
.
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
pares = list(filter(lambda x: x % 2 == 0, numeros))
print(pares)
TestarUsamos filter()
com uma função lambda para filtrar números pares de uma lista numeros
.
Manipulação de arquivos é essencial para leitura e escrita de dados em programas Python.
import os
with open('exemplo.txt', 'r') as arquivo:
conteudo = arquivo.read()
print(conteudo)
Este código utiliza open()
em modo de leitura 'r'
e with
para garantir que o arquivo seja fechado.
with open('saida.txt', 'w') as arquivo:
arquivo.write('Este é um exemplo de escrita em arquivo.\n')
arquivo.write('Python facilita a manipulação de arquivos!')
O modo 'w'
abre o arquivo para escrita. Se o arquivo não existir, ele será criado.
Gráficos são fundamentais para visualização de dados. Vamos explorar matplotlib
e plotly
.
import matplotlib.pyplot as plt
from random import sample
x = sample(range(1, 1000), 100)
y = sample(range(1, 1000), 100)
plt.scatter(x, y)
plt.xlabel('Eixo X')
plt.ylabel('Eixo Y')
plt.title('Gráfico de Dispersão')
plt.show()
TestarEste exemplo cria um gráfico de dispersão com dados gerados aleatoriamente.
import matplotlib.pyplot as plt
import numpy as np
data = np.random.randn(1000)
plt.hist(data, bins=30, alpha=0.75, color='blue')
plt.xlabel('Valor')
plt.ylabel('Frequência')
plt.title('Histograma')
plt.show()
TestarUm histograma visualiza a distribuição dos dados gerados com np.random.randn()
.
import matplotlib.pyplot as plt
import numpy as np
data = [np.random.normal(0, std, 100) for std in range(1, 4)]
plt.boxplot(data, vert=True, patch_artist=True)
plt.xlabel('Grupo')
plt.ylabel('Valor')
plt.title('Box Plot')
plt.show()
TestarUm box plot visualiza a dispersão dos dados e identifica outliers.
import plotly.graph_objects as go
import numpy as np
t = np.linspace(0, 10, 100)
y = np.sin(t)
fig = go.Figure(data=go.Scatter(x=t, y=y, mode='lines', name='Seno'))
fig.update_layout(title='Gráfico de Linhas', xaxis_title='Tempo', yaxis_title='Amplitude')
fig.show()
Este código cria um gráfico de linhas para a função seno.
import plotly.express as px
import pandas as pd
df = pd.DataFrame({
'Categoria': ['A', 'B', 'C', 'D'],
'Valor': [4, 7, 1, 8]
})
fig = px.bar(df, x='Categoria', y='Valor', title='Gráfico de Barras')
fig.show()
Este exemplo usa plotly
para criar um gráfico de barras baseado em um DataFrame
.
import plotly.graph_objects as go
labels = ['Oxigênio', 'Hidrogênio', 'Gás Carbônico', 'Nitrogênio']
values = [4500, 2500, 1053, 500]
fig = go.Figure(data=[go.Pie(labels=labels, values=values)])
fig.update_traces(hoverinfo='label+percent', textinfo='value', textfont_size=20,
marker=dict(line=dict(color='#000000', width=2)))
fig.update_layout(title='Gráfico de Pizza')
fig.show()
Um gráfico de pizza visualiza proporções de componentes.
Vamos explorar algumas aplicações práticas, como calculadoras de IMC, verificadores de números primos, contadores de palavras e calculadoras de desconto.
def calcular_imc(peso, altura):
imc = peso / (altura ** 2)
return imc
peso = float(input("Digite seu peso em kg: "))
altura = float(input("Digite sua altura em metros: "))
imc = calcular_imc(peso, altura)
print(f"Seu IMC é: {imc:.2f}")
Este programa calcula o IMC baseado no peso e altura inseridos pelo usuário.
def eh_primo(n):
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
numero = int(input("Digite um número inteiro: "))
if eh_primo(numero):
print(f"{numero} é um número primo.")
else:
print(f"{numero} não é um número primo.")
Este código verifica se um número é primo.
from collections import Counter
def contar_palavras(texto):
palavras = texto.lower().split()
contagem = Counter(palavras)
return contagem
texto = input("Digite um texto: ")
contagem = contar_palavras(texto)
for palavra, quantidade in contagem.items():
print(f"{palavra}: {quantidade}")
Este programa conta as palavras em um texto fornecido pelo usuário.
def calcular_desconto(preco, desconto):
valor_final = preco - (preco * (desconto / 100))
return valor_final
preco = float(input("Digite o preço do produto: "))
desconto = float(input("Digite a porcentagem de desconto: "))
valor_final = calcular_desconto(preco, desconto)
print(f"O valor final com desconto é: R${valor_final:.2f}")
Esta calculadora determina o preço final após aplicar um desconto.
Ao explorar esses exemplos de programas em Python, você tem a oportunidade de praticar e consolidar o aprendizado de diversos conceitos fundamentais. Então, aproveite para copiá-los e continuar experimentando para criar seus próprios projetos.
Mas, se você ainda está iniciando seus passos nessa linguagem de programação, recomendamos nosso curso gratuito Python para Iniciantes: do zero ao primeiro projeto, no qual você vai do zero ao primeiro dashboard em apenas duas horas.
Continue com a gente da Asimov Academy para mais conteúdo de Python!
Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:
Comentários
30xp