Notícia
•
Testando Markdown no blog
U
Equipe de Pesquisa
Pesquisador UFVJM
Guia Completo de Python para Iniciantes
Python é uma das linguagens de programação mais populares do mundo. Neste post, vamos explorar os conceitos fundamentais com exemplos práticos.
Por que Python?
Python se destaca por diversas razões:
- Sintaxe legível — parece quase pseudocódigo
- Versatilidade — serve para web, dados, IA, automação
- Comunidade enorme — milhares de bibliotecas disponíveis
- Curva de aprendizado suave — ideal para iniciantes
Tipos de Dados Básicos
Python possui os seguintes tipos primitivos:
int— números inteiros (ex:42,-7)float— números decimais (ex:3.14,-0.5)str— texto (ex:"olá mundo")bool— verdadeiro ou falso (True/False)
Declarando Variáveis
nome = "Maria"
idade = 28
altura = 1.65
ativo = True
print(f"{nome} tem {idade} anos e {altura}m de altura.")
Listas e Dicionários
# Lista de linguagens
linguagens = ["Python", "JavaScript", "Rust", "Go"]
# Dicionário com informações
pessoa = {
"nome": "João",
"idade": 35,
"linguagens": linguagens[:2]
}
for chave, valor in pessoa.items():
print(f"{chave}: {valor}")
Estruturas de Controle
Condicionais
nota = 7.5
if nota >= 9:
conceito = "A"
elif nota >= 7:
conceito = "B"
elif nota >= 5:
conceito = "C"
else:
conceito = "F"
print(f"Conceito: {conceito}")
Loops
# Loop simples
for i in range(5):
print(f"Iteração {i}")
# Loop com lista
frutas = ["maçã", "banana", "laranja"]
for fruta in frutas:
print(f"- {fruta.capitalize()}")
Funções
Funções são blocos reutilizáveis de código:
def calcular_imc(peso: float, altura: float) -> float:
"""Calcula o Índice de Massa Corporal."""
return peso / (altura ** 2)
def classificar_imc(imc: float) -> str:
categorias = {
(0, 18.5): "Abaixo do peso",
(18.5, 25): "Peso normal",
(25, 30): "Sobrepeso",
(30, float("inf")): "Obesidade",
}
for (minimo, maximo), categoria in categorias.items():
if minimo <= imc < maximo:
return categoria
imc = calcular_imc(70, 1.75)
print(f"IMC: {imc:.2f} — {classificar_imc(imc)}")
Listas Aninhadas
As listas em Python podem conter outras listas:
- Estruturas de dados
- Listas (
list) - Tuplas (
tuple) - Dicionários (
dict) - Conjuntos (
set)
- Listas (
- Operações comuns
- Inserir:
append(),insert() - Remover:
remove(),pop() - Buscar:
index(),in
- Inserir:
- Comprehensions
- Lista:
[x**2 for x in range(10)] - Dicionário:
{k: v for k, v in pares}
- Lista:
Tabela de Complexidade
| Estrutura | Acesso | Busca | Inserção | Remoção |
|---|---|---|---|---|
| Lista | O(1) | O(n) | O(1)* | O(n) |
| Dicionário | O(1) | O(1) | O(1) | O(1) |
| Conjunto | — | O(1) | O(1) | O(1) |
| Tupla | O(1) | O(n) | — | — |
*Amortizado para inserção no final
Tratamento de Erros
def dividir(a: float, b: float) -> float:
try:
resultado = a / b
except ZeroDivisionError:
print("Erro: divisão por zero!")
return None
except TypeError as e:
print(f"Tipo inválido: {e}")
return None
else:
print(f"Resultado: {resultado:.4f}")
return resultado
finally:
print("Operação concluída.")
dividir(10, 3)
dividir(5, 0)
Programação Orientada a Objetos
from dataclasses import dataclass, field
from typing import List
@dataclass
class Aluno:
nome: str
matricula: str
notas: List[float] = field(default_factory=list)
@property
def media(self) -> float:
if not self.notas:
return 0.0
return sum(self.notas) / len(self.notas)
@property
def aprovado(self) -> bool:
return self.media >= 6.0
def __str__(self):
status = "Aprovado" if self.aprovado else "Reprovado"
return f"{self.nome} ({self.matricula}) — Média: {self.media:.1f} [{status}]"
aluno = Aluno("Ana Souza", "2024001", [8.5, 7.0, 9.2, 6.8])
print(aluno)
Conclusão
"Qualquer tolo pode escrever código que um computador entende. Bons programadores escrevem código que humanos entendem." — Martin Fowler
Python oferece um ecossistema rico para quem está começando. Os próximos passos incluem:
- Estudar bibliotecas padrão como
os,json,datetime - Explorar frameworks como Django e FastAPI
- Aprender sobre ambientes virtuais com
venvoupoetry - Praticar com projetos reais no GitHub
Post publicado pela Equipe de Pesquisa UFVJM · Diamantina, MG