Banco de Códigos e Bibliotecas

Reutilização de Código

Bibliotecas permitem usar código pronto, testado e mantido pela comunidade, acelerando o desenvolvimento.


📦 O que são Bibliotecas?

Definição

Bibliotecas são conjuntos de funções e módulos prontos para uso que estendem as capacidades do Python.

Cuidado

Algumas bibliotecas são oficiais (mantidas pelo Python), mas outras são da comunidade. Sempre verifique a procedência e popularidade antes de usar.


🔧 Instalação de Bibliotecas

Usando o pip

pip install nome-do-pacote

Exemplo:

pip install numpy

Onde executar?

Na linha de comando (Terminal, CMD do Windows, ou terminal integrado do VS Code).


📚 Bibliotecas Populares

BibliotecaFunçãoInstalação
NumPyComputação numéricapip install numpy
PandasAnálise de dadospip install pandas
RequestsRequisições HTTPpip install requests
BeautifulSoupWeb scraping (HTML/XML)pip install beautifulsoup4
MatplotlibGráficos e visualizaçãopip install matplotlib

🔍 Bibliotecas em Destaque

urllib (Manipulação de URL)

Biblioteca Padrão

Módulo para manipulação de URLs. Usa a função urlopen para buscar URLs usando diversos protocolos.

re (Expressões Regulares)

Biblioteca Padrão

Regular expression operations - para busca e manipulação de padrões em texto.

BeautifulSoup (Web Scraping)

Biblioteca Externa

Extração de dados de arquivos HTML e XML. Ideal para web scraping.


💬 Comentários em Python

# Adicione um '#' na frente de cada linha que desejar comentar

🗺️ Ecossistema de Bibliotecas por Área

O diagrama abaixo mostra como as principais bibliotecas Python se organizam por área de aplicação:

flowchart TD
    Python["🐍 Python"]

    Python --> WEB["🌐 Web & HTTP"]
    Python --> DADOS["📊 Dados & Análise"]
    Python --> VIZ["📈 Visualização"]
    Python --> AUTO["🤖 Automação & Scraping"]
    Python --> IA["🧠 IA & Machine Learning"]
    Python --> UTIL["🛠️ Utilitários Gerais"]

    WEB --> requests["requests\n(HTTP simples)"]
    WEB --> httpx["httpx\n(HTTP async / HTTP2)"]
    WEB --> fastapi["fastapi\n(APIs REST rápidas)"]

    DADOS --> numpy["numpy\n(arrays numéricos)"]
    DADOS --> pandas["pandas\n(tabelas / DataFrames)"]
    DADOS --> polars["polars\n(alternativa ultra-rápida)"]

    VIZ --> matplotlib["matplotlib\n(gráficos clássicos)"]
    VIZ --> seaborn["seaborn\n(estatística visual)"]
    VIZ --> plotly["plotly\n(gráficos interativos)"]

    AUTO --> bs4["beautifulsoup4\n(HTML/XML)"]
    AUTO --> scrapy["scrapy\n(crawlers escaláveis)"]
    AUTO --> playwright["playwright\n(browser real)"]

    IA --> sklearn["scikit-learn\n(ML clássico)"]
    IA --> pydantic["pydantic\n(validação de dados)"]
    IA --> pydanticai["pydantic-ai\n(agentes de IA)"]

    UTIL --> pathlib["pathlib\n(arquivos/diretórios)"]
    UTIL --> re["re\n(expressões regulares)"]
    UTIL --> datetime["datetime\n(datas e horas)"]

Como ler o diagrama

Cada ramo representa uma área de uso. Dentro de cada área há bibliotecas que resolvem problemas específicos. Uma mesma biblioteca pode aparecer em mais de uma área (por exemplo, pydantic é usada tanto em APIs quanto em IA).


🧩 Tabela Expandida de Bibliotecas (2025-2026)

Esta tabela reúne bibliotecas amplamente usadas, organizadas por área, com informações de instalação e a versão recente conhecida.

ÁreaBibliotecaPara que serveInstalação
HTTP / WebrequestsFazer requisições HTTP de forma simplespip install requests
HTTP / WebhttpxHTTP assíncrono e suporte a HTTP/2pip install httpx
HTTP / WebfastapiCriar APIs REST modernas e rápidaspip install fastapi
DadosnumpyOperações matemáticas com arrayspip install numpy
DadospandasManipular tabelas (DataFrames)pip install pandas
DadospolarsAlternativa ao pandas, muito mais rápidapip install polars
VisualizaçãomatplotlibGráficos estáticos clássicospip install matplotlib
VisualizaçãoseabornGráficos estatísticos sobre matplotlibpip install seaborn
VisualizaçãoplotlyGráficos interativos no navegadorpip install plotly
Scrapingbeautifulsoup4Parsear HTML e XMLpip install beautifulsoup4
ScrapingscrapyCrawlers escaláveis (v2.14, jan/2026)pip install scrapy
ScrapingplaywrightControlar navegador real (Chrome/Firefox)pip install playwright
IA / MLscikit-learnAlgoritmos de machine learning clássicopip install scikit-learn
IA / MLpydanticValidação de dados com tipos Pythonpip install pydantic
IA / MLpydantic-aiCriação de agentes de IA (estável desde 2025)pip install pydantic-ai
PadrãoreExpressões regularesnativa (sem pip)
PadrãopathlibTrabalhar com arquivos e pastasnativa (sem pip)
PadrãodatetimeDatas, horas e fusos horáriosnativa (sem pip)
PadrãourllibAbrir URLs com diversos protocolosnativa (sem pip)

Bibliotecas "nativas"

Bibliotecas da Biblioteca Padrão do Python já vêm instaladas: não precisam de pip install. Só importe com import nome.


🏗️ Como Escolher uma Biblioteca

Antes de instalar qualquer biblioteca, faça estas perguntas:

  1. Qual problema quero resolver? (HTTP, dados, gráficos, IA…)
  2. A biblioteca está ativa? Verifique a data do último release no PyPI ou GitHub.
  3. Quantas pessoas usam? Downloads no PyPI e estrelas no GitHub são bons indicadores.
  4. A documentação é boa? Uma lib com doc ruim consome muito tempo.

Atalho: PyPI Stats

Acesse pypistats.org/top para ver em tempo real as bibliotecas mais baixadas do PyPI. Útil para comparar duas opções antes de escolher.


🔗 Como Importar Bibliotecas no Código

Depois de instalar com pip, você precisa importar no script:

import numpy              # importa tudo com prefixo: numpy.array(...)
import numpy as np        # atalho comum: np.array(...)
from math import sqrt     # importa só o que precisa: sqrt(16)
from datetime import date # importa só a classe date

Instalar não é suficiente

Instalar com pip deixa a biblioteca disponível no sistema. Mas você ainda precisa escrever import no início do arquivo Python para usá-la no código.


🧪 Atividades Mão na Massa

🧪 Atividade 1: Instalar e usar uma biblioteca real no Google Colab

Objetivo: instalar uma biblioteca do PyPI direto no Colab e ver ela funcionando.

Ferramenta: Google Colab (sem instalar nada no seu computador).

Passos:

  1. Abra o Colab e crie um novo notebook.
  2. Na primeira célula, instale a biblioteca rich (formatação colorida no terminal):
    !pip install rich
  3. Na célula seguinte, importe e use:
    from rich import print
    print("[bold green]Funcionou![/bold green] A biblioteca [yellow]rich[/yellow] está instalada.")
  4. Execute a célula (Shift+Enter).

Resultado observável: o texto aparece colorido e formatado na saída da célula, provando que a biblioteca foi instalada e importada corretamente.

Variação: troque rich por httpx e teste:

import httpx
r = httpx.get("https://httpbin.org/get")
print(r.status_code)  # deve imprimir 200

🧪 Atividade 2: Explorar a documentação do requests e usar uma função nova

Objetivo: navegar pela documentação oficial de uma biblioteca e aplicar uma função que você não conhecia antes.

Ferramenta: Navegador + Google Colab (ou VS Code).

Passos:

  1. Acesse a documentação oficial: docs.python-requests.org
  2. Encontre a seção “Quickstart” e leia como funciona requests.get().
  3. No Colab, instale (se necessário) e execute:
    !pip install requests
    import requests
     
    resposta = requests.get("https://httpbin.org/json")
    dados = resposta.json()         # converte JSON para dicionário Python
    print(type(dados))              # <class 'dict'>
    print(dados)                    # mostra o conteúdo retornado
  4. Agora explore: na documentação, encontre como passar parâmetros de URL com params=. Teste com:
    r = requests.get("https://httpbin.org/get", params={"nome": "Maria", "turma": "2TI"})
    print(r.url)   # veja a URL montada automaticamente

Resultado observável: você vê a URL com os parâmetros já codificados (?nome=Maria&turma=2TI) e o JSON retornado pelo servidor de teste.

Desafio extra: tente descobrir na documentação como enviar um cabeçalho HTTP (header) customizado e adicione headers={"User-Agent": "MeuScript/1.0"} na requisição.


🧪 Atividade 3: Encontrar um pacote no PyPI e avaliar se vale instalar

Objetivo: praticar a busca no repositório oficial de pacotes Python e avaliar a qualidade/manutenção antes de instalar.

Ferramenta: Navegador em pypi.org + pypistats.org.

Passos:

  1. Acesse pypi.org e pesquise por: qrcode.
  2. Clique no pacote qrcode (primeiro resultado). Observe:
    • Data do último release (está sendo mantido?)
    • Número de versão atual
    • Dependências listadas
    • Link para o repositório GitHub
  3. Acesse pypistats.org/packages/qrcode e veja o gráfico de downloads mensais.
  4. Instale e gere um QR Code real:
    !pip install qrcode[pil]
    import qrcode
    img = qrcode.make("https://iff.edu.br")
    img.save("meu_qrcode.png")
    print("Arquivo meu_qrcode.png gerado!")
  5. No Colab, exiba a imagem:
    from IPython.display import Image
    Image("meu_qrcode.png")

Resultado observável: um QR Code real é gerado e exibido no notebook. Aponte o celular e veja que leva ao site do IFF.

Pergunta para reflexão: o pacote foi atualizado nos últimos 12 meses? Os downloads mensais são maiores que 10 mil? Se sim, é um pacote saudável para usar em projetos.


📂 Banco de Código Reutilizável

Abaixo, trechos prontos para copiar e adaptar nos seus projetos.

Baixar uma página da web

import requests
 
url = "https://example.com"
resposta = requests.get(url)
 
if resposta.status_code == 200:
    print("Página baixada com sucesso!")
    print(resposta.text[:200])  # mostra os primeiros 200 caracteres
else:
    print(f"Erro: código {resposta.status_code}")

Ler e manipular uma tabela com pandas

import pandas as pd
 
# Cria um DataFrame diretamente
dados = {
    "Nome": ["Ana", "Bruno", "Carla"],
    "Nota": [8.5, 7.0, 9.2]
}
df = pd.DataFrame(dados)
 
print(df)
print(f"\nMédia da turma: {df['Nota'].mean():.2f}")
print(f"Aluno com maior nota: {df.loc[df['Nota'].idxmax(), 'Nome']}")

Gerar um gráfico com matplotlib

import matplotlib.pyplot as plt
 
nomes = ["Ana", "Bruno", "Carla"]
notas = [8.5, 7.0, 9.2]
 
plt.bar(nomes, notas, color="steelblue")
plt.title("Notas da Turma")
plt.ylabel("Nota")
plt.ylim(0, 10)
plt.savefig("notas.png")
plt.show()

Usar expressão regular para validar e-mail

import re
 
def valida_email(email):
    padrao = r"^[\w\.-]+@[\w\.-]+\.\w{2,}$"
    return bool(re.match(padrao, email))
 
print(valida_email("aluno@iff.edu.br"))  # True
print(valida_email("email-invalido"))    # False

🌟 Novidades do Ecossistema Python (2025-2026)

O ecossistema Python evolui rapidamente. Algumas bibliotecas que ganharam destaque recentemente:

BibliotecaNovidadePor que importa
scrapyv2.14 (jan/2026): APIs baseadas em corrotinasScraping mais eficiente e moderno
pydantic-aiAPI estável (2025), 16 mil estrelas no GitHubCriação de agentes de IA com Python puro
polarsAlternativa ao pandas muito mais rápidaIdeal para conjuntos grandes de dados
httpxHTTP/2 e requisições assíncronas nativasSubstituto moderno do requests em projetos avançados
beautifoulsoup4v4.14.3 (2025): mantida ativamenteContinua sendo a opção mais acessível para scraping

Atenção ao usar libs de IA

Bibliotecas como pydantic-ai evoluem rápido. Sempre fixe a versão no seu projeto com pip install pydantic-ai==X.Y.Z para evitar quebras futuras.


📚 Fontes (2026)