Notícia

Testando Markdown no blog

U

Equipe de Pesquisa

Pesquisador UFVJM

Testando Markdown no blog

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:

  1. int — números inteiros (ex: 42, -7)
  2. float — números decimais (ex: 3.14, -0.5)
  3. str — texto (ex: "olá mundo")
  4. 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)
  • Operações comuns
    • Inserir: append(), insert()
    • Remover: remove(), pop()
    • Buscar: index(), in
  • Comprehensions
    • Lista: [x**2 for x in range(10)]
    • Dicionário: {k: v for k, v in pares}

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:

  1. Estudar bibliotecas padrão como os, json, datetime
  2. Explorar frameworks como Django e FastAPI
  3. Aprender sobre ambientes virtuais com venv ou poetry
  4. Praticar com projetos reais no GitHub

Post publicado pela Equipe de Pesquisa UFVJM · Diamantina, MG