<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Python on Python Brasil — Aprenda Python em Português</title>
    <link>https://python.dev.br/tags/python/</link>
    <description>Recent content in Python on Python Brasil — Aprenda Python em Português</description>
    <generator>Hugo</generator>
    <language>pt-br</language>
    <lastBuildDate>Tue, 28 Apr 2026 16:56:26 -0300</lastBuildDate>
    <atom:link href="https://python.dev.br/tags/python/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Subinterpreters no Python 3.14: Guia PEP 734</title>
      <link>https://python.dev.br/blog/python-3-14-subinterpreters-pep-734/</link>
      <pubDate>Wed, 29 Apr 2026 10:00:00 -0300</pubDate>
      <guid>https://python.dev.br/blog/python-3-14-subinterpreters-pep-734/</guid>
      <description>&lt;p&gt;O Python 3.14 trouxe uma das adições mais aguardadas pela comunidade: o módulo &lt;code&gt;interpreters&lt;/code&gt;, que expõe os &lt;strong&gt;subinterpreters&lt;/strong&gt; na biblioteca padrão. Definido pela &lt;strong&gt;PEP 734&lt;/strong&gt;, esse recurso permite criar múltiplos interpretadores Python dentro do mesmo processo, cada um com seu próprio GIL, abrindo caminho para paralelismo real sem recorrer a &lt;a href=&#34;https://python.dev.br/blog/python-multiprocessing/&#34;&gt;multiprocessing&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Se você já acompanhou as &lt;a href=&#34;https://python.dev.br/blog/python-3-14-novidades-recursos/&#34;&gt;novidades do Python 3.14&lt;/a&gt; ou o avanço do &lt;a href=&#34;https://python.dev.br/blog/python-3-13-free-threaded-sem-gil/&#34;&gt;free-threading&lt;/a&gt;, os subinterpreters representam outra frente de ataque ao problema de concorrência no Python. Vamos entender como funcionam, quando usar e como implementar na prática.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Django 6.0: Tarefas em Background, CSP e Mais</title>
      <link>https://python.dev.br/blog/django-6-novidades-tarefas-background/</link>
      <pubDate>Wed, 29 Apr 2026 08:00:00 -0300</pubDate>
      <guid>https://python.dev.br/blog/django-6-novidades-tarefas-background/</guid>
      <description>&lt;p&gt;O Django 6.0, lançado em dezembro de 2025, trouxe mudanças que desenvolvedores Python pediam há anos. O destaque absoluto é o &lt;strong&gt;framework nativo de tarefas em background&lt;/strong&gt; — algo que antes exigia bibliotecas externas como Celery. Além disso, o suporte embutido a &lt;strong&gt;Content Security Policy (CSP)&lt;/strong&gt;, os &lt;strong&gt;template partials&lt;/strong&gt; e a adoção da API moderna de email tornam essa a atualização mais significativa do Django em muito tempo.&lt;/p&gt;&#xA;&lt;p&gt;Neste artigo, você vai entender cada novidade com exemplos práticos e ver como migrar seus projetos. Se você ainda está decidindo entre frameworks, veja nosso &lt;a href=&#34;https://python.dev.br/blog/django-vs-flask/&#34;&gt;comparativo Django vs Flask&lt;/a&gt; para entender onde cada um brilha.&lt;/p&gt;</description>
    </item>
    <item>
      <title>PydanticAI: Agentes de IA com Tipagem Forte</title>
      <link>https://python.dev.br/blog/pydanticai-agentes-ia-tipagem-forte/</link>
      <pubDate>Wed, 29 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/pydanticai-agentes-ia-tipagem-forte/</guid>
      <description>&lt;p&gt;O universo de frameworks para agentes de IA em Python está cada vez mais competitivo. Temos o &lt;a href=&#34;https://python.dev.br/blog/langgraph-agentes-ia-python/&#34;&gt;LangGraph&lt;/a&gt;, o &lt;a href=&#34;https://python.dev.br/blog/openai-agents-sdk-python-multi-agentes/&#34;&gt;OpenAI Agents SDK&lt;/a&gt; e diversas outras opções. Mas e se você pudesse construir agentes com a mesma segurança de tipos que o &lt;a href=&#34;https://python.dev.br/blog/pydantic-validacao-dados-python/&#34;&gt;Pydantic&lt;/a&gt; trouxe para validação de dados?&lt;/p&gt;&#xA;&lt;p&gt;O &lt;strong&gt;PydanticAI&lt;/strong&gt; é exatamente isso: um framework para agentes de IA criado pelo time do Pydantic, com foco em tipagem forte, saídas estruturadas e uma experiência de desenvolvimento que lembra o FastAPI. Neste artigo, vamos explorar como criar agentes type-safe, definir ferramentas e usar dependency injection para builds robustos.&lt;/p&gt;</description>
    </item>
    <item>
      <title>PyO3: Integrando Rust e Python para Performance</title>
      <link>https://python.dev.br/blog/pyo3-rust-python-alta-performance/</link>
      <pubDate>Wed, 29 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/pyo3-rust-python-alta-performance/</guid>
      <description>&lt;p&gt;Se existe uma combinação que tem revolucionado o ecossistema Python nos últimos anos, é &lt;strong&gt;Python + Rust&lt;/strong&gt;. Ferramentas que você provavelmente já usa — como &lt;a href=&#34;https://python.dev.br/blog/ruff-linter-formatador-python/&#34;&gt;Ruff&lt;/a&gt;, &lt;a href=&#34;https://python.dev.br/blog/polars-alternativa-pandas-python/&#34;&gt;Polars&lt;/a&gt;, &lt;a href=&#34;https://python.dev.br/blog/pydantic-validacao-dados-python/&#34;&gt;Pydantic v2&lt;/a&gt; e o &lt;a href=&#34;https://python.dev.br/blog/ty-type-checker-python-rust/&#34;&gt;ty type checker&lt;/a&gt; — são escritas em Rust e expostas para Python através do &lt;strong&gt;PyO3&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;O PyO3 é um framework que permite escrever módulos nativos para Python usando Rust, com uma ergonomia surpreendente. Neste artigo, você vai aprender a configurar um projeto PyO3, criar funções e classes acessíveis pelo Python e entender por que essa abordagem supera alternativas tradicionais como ctypes e cffi.&lt;/p&gt;</description>
    </item>
    <item>
      <title>MCP em Python: Criando Servidores de IA com FastMCP</title>
      <link>https://python.dev.br/blog/mcp-model-context-protocol-python/</link>
      <pubDate>Tue, 28 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/mcp-model-context-protocol-python/</guid>
      <description>&lt;p&gt;Se você trabalha com &lt;strong&gt;inteligência artificial&lt;/strong&gt; em Python, provavelmente já enfrentou o desafio de conectar LLMs a dados e ferramentas externas. Cada integração exigia código personalizado, cada API tinha seu próprio formato, e manter tudo funcionando era um pesadelo. O &lt;strong&gt;MCP (Model Context Protocol)&lt;/strong&gt; resolve exatamente esse problema.&lt;/p&gt;&#xA;&lt;p&gt;Criado pela Anthropic e adotado rapidamente pela comunidade, o MCP se tornou o &lt;strong&gt;padrão aberto&lt;/strong&gt; para conectar modelos de linguagem a fontes de dados e funcionalidades externas. Pense nele como uma &amp;ldquo;USB-C para IA&amp;rdquo; — uma interface universal que qualquer aplicação pode implementar.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Textual em Python: Criando Apps de Terminal com TUI</title>
      <link>https://python.dev.br/blog/textual-tui-terminal-python/</link>
      <pubDate>Tue, 28 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/textual-tui-terminal-python/</guid>
      <description>&lt;p&gt;Aplicações de terminal não precisam ser feias. Com o &lt;strong&gt;Textual&lt;/strong&gt;, você constrói interfaces ricas — com botões, tabelas, inputs, layouts responsivos e até CSS — direto no terminal. E tudo isso usando Python puro.&lt;/p&gt;&#xA;&lt;p&gt;O Textual é um framework de &lt;strong&gt;TUI (Text User Interface)&lt;/strong&gt; criado pela Textualize que transformou completamente o que é possível fazer no terminal. Com mais de 26 mil estrelas no GitHub e uma apresentação confirmada na PyCon US 2026 (&amp;ldquo;The Terminal is the New Browser&amp;rdquo;), o framework se consolidou como referência para interfaces de terminal em Python.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Algoritmos de Ordenacao em Python: sorted(), sort() e Implementacoes</title>
      <link>https://python.dev.br/algoritmos/ordenacao-python/</link>
      <pubDate>Mon, 27 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/algoritmos/ordenacao-python/</guid>
      <description>&lt;h2 id=&#34;ordenacao-em-python-do-basico-ao-avancado&#34;&gt;Ordenacao em Python: Do Basico ao Avancado&lt;/h2&gt;&#xA;&lt;p&gt;Ordenar dados e uma das operacoes mais fundamentais da computacao. Em Python, voce tem acesso a ferramentas de ordenacao extremamente eficientes com &lt;code&gt;sorted()&lt;/code&gt; e &lt;code&gt;.sort()&lt;/code&gt;, alem de poder implementar algoritmos classicos para entender como funcionam por dentro.&lt;/p&gt;&#xA;&lt;p&gt;Neste guia, vamos cobrir tudo: desde o uso pratico das funcoes built-in ate implementacoes de bubble sort, merge sort e quick sort, com analise de complexidade de cada um.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Areas de Atuacao com Python: Onde Trabalhar em 2026</title>
      <link>https://python.dev.br/carreira/areas-atuacao-python/</link>
      <pubDate>Mon, 27 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/carreira/areas-atuacao-python/</guid>
      <description>&lt;h2 id=&#34;onde-trabalhar-com-python-em-2026-guia-completo-de-areas&#34;&gt;Onde Trabalhar com Python em 2026: Guia Completo de Areas&lt;/h2&gt;&#xA;&lt;p&gt;Python e a linguagem de programacao mais versatil do mercado brasileiro em 2026. Diferente de linguagens mais especializadas, Python abre portas para dezenas de carreiras diferentes — desde desenvolvimento web ate inteligencia artificial, passando por automacao, seguranca e financas.&lt;/p&gt;&#xA;&lt;p&gt;Neste guia, vamos explorar cada area de atuacao em detalhes: o que faz o profissional, quanto ganha, quais habilidades sao necessarias, e qual a perspectiva de crescimento. Se voce esta escolhendo sua especializacao, este e o conteudo certo para voce.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Busca Binaria em Python: Como Implementar e Quando Usar</title>
      <link>https://python.dev.br/algoritmos/busca-binaria-python/</link>
      <pubDate>Mon, 27 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/algoritmos/busca-binaria-python/</guid>
      <description>&lt;h2 id=&#34;o-que-e-busca-binaria&#34;&gt;O que e Busca Binaria?&lt;/h2&gt;&#xA;&lt;p&gt;Busca binaria e um dos algoritmos mais eficientes para encontrar um elemento em uma colecao &lt;strong&gt;ordenada&lt;/strong&gt;. Em vez de verificar cada elemento um por um (busca linear, O(n)), a busca binaria divide a colecao ao meio a cada passo, alcancando complexidade &lt;strong&gt;O(log n)&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Na pratica, isso significa que em uma lista com &lt;strong&gt;1 milhao de elementos&lt;/strong&gt;, a busca binaria precisa de no maximo &lt;strong&gt;20 comparacoes&lt;/strong&gt; para encontrar qualquer elemento — contra ate 1 milhao na busca linear.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Crawl4AI: Web Scraping com IA em Python</title>
      <link>https://python.dev.br/blog/crawl4ai-web-scraping-ia-python/</link>
      <pubDate>Mon, 27 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/crawl4ai-web-scraping-ia-python/</guid>
      <description>&lt;p&gt;Web scraping tradicional exige que você escreva seletores CSS, XPath ou expressões regulares para cada site. Quando a estrutura da página muda, tudo quebra. O &lt;strong&gt;Crawl4AI&lt;/strong&gt; propõe uma abordagem diferente: usar &lt;strong&gt;modelos de linguagem (LLMs)&lt;/strong&gt; para entender o conteúdo da página e extrair dados de forma inteligente, sem depender da estrutura HTML.&lt;/p&gt;&#xA;&lt;p&gt;Com mais de 30 mil estrelas no GitHub, o Crawl4AI se tornou a principal biblioteca open-source de web scraping com IA em Python. Neste artigo, vamos ver como instalar, configurar e usar o Crawl4AI para extrair dados estruturados de qualquer página web.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Dicionarios em Python: Como Usar e Quando Escolher</title>
      <link>https://python.dev.br/algoritmos/dicionarios-python/</link>
      <pubDate>Mon, 27 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/algoritmos/dicionarios-python/</guid>
      <description>&lt;h2 id=&#34;o-que-sao-dicionarios-em-python&#34;&gt;O que sao Dicionarios em Python?&lt;/h2&gt;&#xA;&lt;p&gt;Dicionarios sao a segunda estrutura de dados mais importante em Python, atras apenas das &lt;a href=&#34;https://python.dev.br/algoritmos/listas-python/&#34;&gt;listas&lt;/a&gt;. Eles armazenam pares &lt;strong&gt;chave-valor&lt;/strong&gt; e oferecem acesso extremamente rapido — busca, insercao e remocao em tempo O(1) na media, gracas a implementacao interna com hash tables.&lt;/p&gt;&#xA;&lt;p&gt;Dicionarios sao ideais quando voce precisa associar dados a identificadores unicos: usuarios por ID, configuracoes por nome, contagem de palavras, cache de resultados e muito mais.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Listas em Python: Guia Completo com Exemplos</title>
      <link>https://python.dev.br/algoritmos/listas-python/</link>
      <pubDate>Mon, 27 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/algoritmos/listas-python/</guid>
      <description>&lt;h2 id=&#34;o-que-sao-listas-em-python&#34;&gt;O que sao Listas em Python?&lt;/h2&gt;&#xA;&lt;p&gt;Listas sao a estrutura de dados mais utilizada em Python. Elas armazenam colecoes ordenadas de elementos que podem ser modificados apos a criacao — ou seja, sao &lt;strong&gt;mutaveis&lt;/strong&gt;. Listas permitem duplicatas, suportam diferentes tipos de dados no mesmo container e oferecem dezenas de metodos para manipulacao.&lt;/p&gt;&#xA;&lt;p&gt;Se voce esta comecando com Python, dominar listas e essencial antes de avancar para estruturas mais complexas como &lt;a href=&#34;https://python.dev.br/algoritmos/dicionarios-python/&#34;&gt;dicionarios&lt;/a&gt; e &lt;a href=&#34;https://python.dev.br/algoritmos/pilhas-filas-python/&#34;&gt;pilhas e filas&lt;/a&gt;. Confira nosso guia &lt;a href=&#34;https://python.dev.br/blog/como-comecar-com-python/&#34;&gt;Como Comecar com Python&lt;/a&gt; para uma introducao a linguagem.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Perguntas de Entrevista Python: 30 Questoes Mais Cobradas</title>
      <link>https://python.dev.br/carreira/entrevistas-python/</link>
      <pubDate>Mon, 27 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/carreira/entrevistas-python/</guid>
      <description>&lt;h2 id=&#34;guia-completo-de-entrevistas-para-programadores-python&#34;&gt;Guia Completo de Entrevistas para Programadores Python&lt;/h2&gt;&#xA;&lt;p&gt;Preparar-se para uma entrevista tecnica de Python pode ser a diferenca entre conseguir a vaga dos sonhos ou perder uma oportunidade. Em 2026, as empresas brasileiras estao cada vez mais rigorosas nos processos seletivos, exigindo tanto conhecimento teorico quanto habilidade pratica.&lt;/p&gt;&#xA;&lt;p&gt;Neste guia, reunimos as 30 perguntas mais cobradas em entrevistas de Python no Brasil, com respostas detalhadas e exemplos de codigo. Se voce esta comecando sua carreira, confira tambem nosso guia de &lt;a href=&#34;https://python.dev.br/carreira/primeiro-emprego-python/&#34;&gt;como conseguir seu primeiro emprego Python&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pilhas e Filas em Python: Implementacao com Listas e deque</title>
      <link>https://python.dev.br/algoritmos/pilhas-filas-python/</link>
      <pubDate>Mon, 27 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/algoritmos/pilhas-filas-python/</guid>
      <description>&lt;h2 id=&#34;pilhas-e-filas-estruturas-fundamentais&#34;&gt;Pilhas e Filas: Estruturas Fundamentais&lt;/h2&gt;&#xA;&lt;p&gt;Pilhas (stacks) e filas (queues) sao duas das estruturas de dados mais importantes da computacao. Elas controlam a &lt;strong&gt;ordem&lt;/strong&gt; em que elementos sao processados e aparecem em inumeros cenarios reais: desde o &amp;ldquo;Desfazer&amp;rdquo; do seu editor de texto ate o agendamento de tarefas em servidores.&lt;/p&gt;&#xA;&lt;p&gt;Em Python, podemos implementa-las com &lt;a href=&#34;https://python.dev.br/algoritmos/listas-python/&#34;&gt;listas&lt;/a&gt;, &lt;code&gt;collections.deque&lt;/code&gt; e modulos especializados como &lt;code&gt;heapq&lt;/code&gt; e &lt;code&gt;queue&lt;/code&gt;. Vamos explorar cada abordagem.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;pilha-stack--lifo&#34;&gt;Pilha (Stack) — LIFO&lt;/h2&gt;&#xA;&lt;p&gt;Uma pilha segue o principio &lt;strong&gt;LIFO&lt;/strong&gt; (Last In, First Out): o ultimo elemento adicionado e o primeiro a ser removido. Pense numa pilha de pratos — voce sempre pega o prato do topo.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Primeiro Emprego como Programador Python: Guia Completo 2026</title>
      <link>https://python.dev.br/carreira/primeiro-emprego-python/</link>
      <pubDate>Mon, 27 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/carreira/primeiro-emprego-python/</guid>
      <description>&lt;h2 id=&#34;como-conseguir-seu-primeiro-emprego-como-programador-python&#34;&gt;Como Conseguir Seu Primeiro Emprego como Programador Python&lt;/h2&gt;&#xA;&lt;p&gt;O mercado de tecnologia brasileiro esta aquecido, e Python continua sendo uma das linguagens mais demandadas em 2026. Se voce esta comecando sua jornada como programador, este guia vai mostrar exatamente o que voce precisa fazer para conquistar sua primeira vaga — desde as habilidades tecnicas essenciais ate estrategias praticas de busca por emprego.&lt;/p&gt;&#xA;&lt;p&gt;Python e uma das melhores escolhas para quem esta entrando no mercado de trabalho por sua sintaxe clara e versatilidade. Se voce ainda esta nos primeiros passos, comece pelo nosso guia &lt;a href=&#34;https://python.dev.br/blog/como-comecar-com-python/&#34;&gt;Como Comecar com Python&lt;/a&gt; e depois volte aqui para planejar sua entrada no mercado.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python 3.14: Novidades e Recursos que Você Precisa Conhecer</title>
      <link>https://python.dev.br/blog/python-3-14-novidades-recursos/</link>
      <pubDate>Mon, 27 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-3-14-novidades-recursos/</guid>
      <description>&lt;p&gt;O Python 3.14 chegou como uma das versões mais ambiciosas da história da linguagem. Enquanto versões anteriores focavam em ajustes pontuais, esta release traz mudanças estruturais que afetam desde quem escreve scripts simples até quem mantém frameworks e bibliotecas. Neste artigo, vamos passar pelas principais novidades, entender o que muda na prática e quando vale a pena adotar cada recurso.&lt;/p&gt;&#xA;&lt;p&gt;Se você quer se aprofundar em algum recurso específico, ao longo do texto indicamos artigos dedicados a cada tema.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Trabalhar como Freelancer Python: Quanto Ganha e Como Comecar</title>
      <link>https://python.dev.br/carreira/python-freelancer/</link>
      <pubDate>Mon, 27 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/carreira/python-freelancer/</guid>
      <description>&lt;h2 id=&#34;guia-completo-para-trabalhar-como-freelancer-python&#34;&gt;Guia Completo para Trabalhar como Freelancer Python&lt;/h2&gt;&#xA;&lt;p&gt;Trabalhar como freelancer Python e uma das formas mais flexiveis e lucrativas de usar suas habilidades de programacao em 2026. Com a demanda crescente por automacao, analise de dados e desenvolvimento web, programadores Python independentes encontram oportunidades abundantes tanto no mercado brasileiro quanto internacional.&lt;/p&gt;&#xA;&lt;p&gt;Neste guia, vamos cobrir tudo o que voce precisa saber: desde quanto cobrar ate como encontrar clientes e quais nichos sao mais rentaveis. Se voce ainda esta aprendendo Python, comece pelo nosso guia &lt;a href=&#34;https://python.dev.br/blog/como-comecar-com-python/&#34;&gt;Como Comecar com Python&lt;/a&gt; e depois volte aqui.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Transicao de Carreira para Python: Guia para Profissionais</title>
      <link>https://python.dev.br/carreira/transicao-para-python/</link>
      <pubDate>Mon, 27 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/carreira/transicao-para-python/</guid>
      <description>&lt;h2 id=&#34;guia-completo-de-transicao-de-carreira-para-python&#34;&gt;Guia Completo de Transicao de Carreira para Python&lt;/h2&gt;&#xA;&lt;p&gt;Cada vez mais profissionais brasileiros estao migrando para carreiras em tecnologia, e Python e a porta de entrada mais acessivel e lucrativa em 2026. Seja voce um profissional de marketing cansado de planilhas, um analista financeiro querendo automatizar processos, ou um programador Java buscando mais versatilidade — este guia mostra o caminho completo.&lt;/p&gt;&#xA;&lt;p&gt;Python se destaca pela sua curva de aprendizado suave, comunidade acolhedora e versatilidade de aplicacoes. Se voce quer entender por que Python e tao popular, confira nosso artigo &lt;a href=&#34;https://python.dev.br/perguntas/o-que-e-python/&#34;&gt;O que e Python&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>LangGraph: Criando Agentes de IA com Python | python.dev.br</title>
      <link>https://python.dev.br/blog/langgraph-agentes-ia-python/</link>
      <pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/langgraph-agentes-ia-python/</guid>
      <description>&lt;p&gt;Se você acompanha o ecossistema Python em 2026, já deve ter notado que &lt;strong&gt;agentes de IA&lt;/strong&gt; deixaram de ser curiosidade de laboratório e viraram ferramenta de produção. Frameworks como CrewAI e OpenAI Agents SDK trouxeram o conceito para mais perto dos desenvolvedores, mas quando o assunto é &lt;strong&gt;controle fino, durabilidade e fluxos complexos&lt;/strong&gt;, o &lt;strong&gt;LangGraph&lt;/strong&gt; se destaca como a principal escolha.&lt;/p&gt;&#xA;&lt;p&gt;Neste artigo, vamos entender o que é o LangGraph, por que ele se diferencia de outras abordagens, e construir um agente funcional passo a passo em Python. Se você já trabalha com &lt;a href=&#34;https://python.dev.br/blog/python-e-llms-apis-inteligencia-artificial/&#34;&gt;LLMs e APIs de IA&lt;/a&gt; ou conhece o &lt;a href=&#34;https://python.dev.br/blog/openai-agents-sdk-python-multi-agentes/&#34;&gt;OpenAI Agents SDK&lt;/a&gt;, vai perceber como o LangGraph complementa esse ecossistema.&lt;/p&gt;</description>
    </item>
    <item>
      <title>MarkItDown: Convertendo Documentos para Markdown com Python | python.dev.br</title>
      <link>https://python.dev.br/blog/markitdown-microsoft-documentos-markdown-python/</link>
      <pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/markitdown-microsoft-documentos-markdown-python/</guid>
      <description>&lt;p&gt;Se você já tentou alimentar um LLM com dados de PDFs, planilhas Excel ou apresentações PowerPoint, sabe que o maior desafio não é a chamada à API — é &lt;strong&gt;extrair o conteúdo de forma limpa&lt;/strong&gt;. O &lt;strong&gt;MarkItDown&lt;/strong&gt;, biblioteca open-source da Microsoft, resolve exatamente esse problema: converte dezenas de formatos de arquivo em Markdown estruturado, pronto para uso com modelos de linguagem.&lt;/p&gt;&#xA;&lt;p&gt;Com mais de 50 mil estrelas no GitHub em poucos meses, o MarkItDown se tornou uma das ferramentas mais populares do ecossistema Python em 2026. Neste artigo, vamos explorar como instalá-lo, converter diferentes tipos de documento, e integrá-lo em pipelines de IA reais.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Marimo: O Notebook Reativo que Substitui o Jupyter</title>
      <link>https://python.dev.br/blog/marimo-notebook-reativo-python/</link>
      <pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/marimo-notebook-reativo-python/</guid>
      <description>&lt;p&gt;Se você trabalha com ciência de dados, análise exploratória ou prototipagem em Python, provavelmente já enfrentou os problemas clássicos do Jupyter: células executadas fora de ordem, estado oculto que quebra a reprodutibilidade e arquivos &lt;code&gt;.ipynb&lt;/code&gt; que são um pesadelo para versionar com Git. O &lt;strong&gt;Marimo&lt;/strong&gt; surgiu como uma alternativa moderna que resolve esses problemas de forma elegante.&lt;/p&gt;&#xA;&lt;p&gt;Com mais de 15 mil estrelas no GitHub e adoção por empresas como Cloudflare, Shopify e BlackRock, o Marimo se consolidou em 2026 como a principal alternativa ao Jupyter para quem quer notebooks reproduzíveis, reativos e versionáveis. Neste artigo, vamos explorar como ele funciona, como instalar e criar seu primeiro notebook reativo.&lt;/p&gt;</description>
    </item>
    <item>
      <title>SQLAlchemy 2.0: ORM Moderno para Python com Tipagem</title>
      <link>https://python.dev.br/blog/sqlalchemy-2-orm-moderno-python/</link>
      <pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/sqlalchemy-2-orm-moderno-python/</guid>
      <description>&lt;p&gt;O &lt;strong&gt;SQLAlchemy&lt;/strong&gt; é o ORM mais utilizado no ecossistema Python, presente em projetos que vão de APIs simples a sistemas de grande escala. Com o lançamento da versão 2.0, a biblioteca passou por uma reformulação significativa: novo estilo declarativo com tipagem nativa, API de queries unificada, suporte a async/await e integração profunda com ferramentas de análise estática.&lt;/p&gt;&#xA;&lt;p&gt;Se você já trabalha com &lt;a href=&#34;https://python.dev.br/blog/python-e-postgresql/&#34;&gt;PostgreSQL&lt;/a&gt;, &lt;a href=&#34;https://python.dev.br/blog/python-e-banco-de-dados-sqlite/&#34;&gt;SQLite&lt;/a&gt; ou qualquer banco relacional em Python, entender o SQLAlchemy 2.0 é fundamental. Neste artigo, vamos cobrir desde a configuração inicial até padrões avançados como relacionamentos, queries compostas e integração assíncrona.&lt;/p&gt;</description>
    </item>
    <item>
      <title>JIT Compiler no Python 3.14: Ganhos Reais de Performance</title>
      <link>https://python.dev.br/blog/python-3-14-jit-compiler-desempenho/</link>
      <pubDate>Tue, 21 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-3-14-jit-compiler-desempenho/</guid>
      <description>&lt;p&gt;O Python 3.14 trouxe uma das mudanças mais aguardadas da última década: um &lt;strong&gt;compilador JIT (Just-In-Time)&lt;/strong&gt; integrado diretamente no CPython. Depois de anos sendo criticado por lentidão, o Python agora compila trechos de código para instruções de máquina em tempo de execução, entregando ganhos reais de performance sem que você precise mudar uma linha do seu código.&lt;/p&gt;&#xA;&lt;p&gt;Neste artigo, vamos explorar como o JIT funciona, quais cenários se beneficiam mais, como ativar e medir os ganhos, e o que isso significa para o futuro do ecossistema Python.&lt;/p&gt;</description>
    </item>
    <item>
      <title>OpenAI Agents SDK: Multi-Agentes em Python — 2026</title>
      <link>https://python.dev.br/blog/openai-agents-sdk-python-multi-agentes/</link>
      <pubDate>Tue, 21 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/openai-agents-sdk-python-multi-agentes/</guid>
      <description>&lt;p&gt;O &lt;strong&gt;OpenAI Agents SDK&lt;/strong&gt; é um framework Python leve e poderoso para construir sistemas &lt;strong&gt;multi-agentes&lt;/strong&gt; — onde múltiplos agentes de IA colaboram, delegam tarefas entre si e usam ferramentas externas para resolver problemas complexos. Lançado como sucessor do experimental Swarm, o SDK rapidamente se tornou uma das bibliotecas mais populares para desenvolvimento de aplicações baseadas em agentes.&lt;/p&gt;&#xA;&lt;p&gt;Neste artigo, vamos explorar como instalar, configurar e criar seus primeiros agentes com exemplos práticos e completos em Python.&lt;/p&gt;</description>
    </item>
    <item>
      <title>D-Strings no Python 3.15: Adeus textwrap.dedent()</title>
      <link>https://python.dev.br/blog/python-d-strings-pep-822-dedent/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-d-strings-pep-822-dedent/</guid>
      <description>&lt;p&gt;Se você já escreveu strings multiline dentro de funções ou classes em Python, provavelmente conhece o problema: a indentação do código contamina o conteúdo da string. A solução clássica sempre foi &lt;code&gt;textwrap.dedent()&lt;/code&gt;, mas ela tem limitações e adiciona overhead em tempo de execução.&lt;/p&gt;&#xA;&lt;p&gt;A &lt;strong&gt;PEP 822&lt;/strong&gt; propõe uma solução elegante para o Python 3.15: as &lt;strong&gt;d-strings&lt;/strong&gt; (dedented strings). Com o prefixo &lt;code&gt;d&lt;/code&gt; antes de aspas triplas, a indentação é removida automaticamente pelo compilador, sem custo em runtime. É uma daquelas mudanças que parece pequena, mas melhora o dia a dia de quem escreve Python profissionalmente.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Django vs Flask: Qual Framework Escolher? | Python Brasil</title>
      <link>https://python.dev.br/comparacoes/django-vs-flask/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/comparacoes/django-vs-flask/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Django&lt;/strong&gt; e &lt;strong&gt;Flask&lt;/strong&gt; são os dois frameworks web mais populares do ecossistema Python. Django é o &amp;ldquo;batteries included&amp;rdquo; — tudo vem pronto. Flask é o microframework — você monta como quiser. Neste comparativo, vamos te ajudar a escolher o certo para seu projeto.&lt;/p&gt;&#xA;&lt;h2 id=&#34;tabela-comparativa&#34;&gt;Tabela Comparativa&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Aspecto&lt;/th&gt;&#xA;          &lt;th&gt;Django&lt;/th&gt;&#xA;          &lt;th&gt;Flask&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Tipo&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Full-stack&lt;/td&gt;&#xA;          &lt;td&gt;Microframework&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Filosofia&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Batteries included&lt;/td&gt;&#xA;          &lt;td&gt;Faça do seu jeito&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;ORM&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Django ORM (incluso)&lt;/td&gt;&#xA;          &lt;td&gt;SQLAlchemy (separado)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Admin&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Django Admin (incluso)&lt;/td&gt;&#xA;          &lt;td&gt;Flask-Admin (extensão)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Autenticação&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Inclusa&lt;/td&gt;&#xA;          &lt;td&gt;Flask-Login (extensão)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Migrations&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Inclusas (manage.py migrate)&lt;/td&gt;&#xA;          &lt;td&gt;Flask-Migrate/Alembic&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Templates&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Django Templates (incluso)&lt;/td&gt;&#xA;          &lt;td&gt;Jinja2 (incluso)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Curva de aprendizado&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Mais íngreme&lt;/td&gt;&#xA;          &lt;td&gt;Mais suave&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Flexibilidade&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Opinativo&lt;/td&gt;&#xA;          &lt;td&gt;Livre&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Performance&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Boa&lt;/td&gt;&#xA;          &lt;td&gt;Boa (leve vantagem)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Ideal para&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Apps completas, CMS, e-commerce&lt;/td&gt;&#xA;          &lt;td&gt;APIs, microserviços, protótipos&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Mercado no Brasil&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Muito forte&lt;/td&gt;&#xA;          &lt;td&gt;Forte&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;arquitetura-monolito-vs-microframework&#34;&gt;Arquitetura: Monolito vs Microframework&lt;/h2&gt;&#xA;&lt;h3 id=&#34;django-tudo-incluído&#34;&gt;Django: Tudo Incluído&lt;/h3&gt;&#xA;&lt;p&gt;Django segue o padrão &lt;strong&gt;MVT (Model-View-Template)&lt;/strong&gt; e vem com:&lt;/p&gt;</description>
    </item>
    <item>
      <title>FastAPI vs Django: Comparativo Completo | Python Brasil</title>
      <link>https://python.dev.br/comparacoes/fastapi-vs-django/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/comparacoes/fastapi-vs-django/</guid>
      <description>&lt;p&gt;&lt;strong&gt;FastAPI&lt;/strong&gt; e &lt;strong&gt;Django&lt;/strong&gt; representam duas gerações de frameworks web Python. Django é o veterano full-stack, maduro e completo. FastAPI é o moderno, assíncrono e focado em APIs. Neste comparativo, vamos analisar quando cada um brilha.&lt;/p&gt;&#xA;&lt;h2 id=&#34;tabela-comparativa&#34;&gt;Tabela Comparativa&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Aspecto&lt;/th&gt;&#xA;          &lt;th&gt;FastAPI&lt;/th&gt;&#xA;          &lt;th&gt;Django&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Criado em&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;2018 (Sebastián Ramírez)&lt;/td&gt;&#xA;          &lt;td&gt;2005 (Adrian Holovaty, Simon Willison)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Tipo&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Framework de API&lt;/td&gt;&#xA;          &lt;td&gt;Full-stack web&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Async&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Nativo (ASGI)&lt;/td&gt;&#xA;          &lt;td&gt;Suporte parcial (Django 5.x)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Validação&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Pydantic (automática)&lt;/td&gt;&#xA;          &lt;td&gt;Forms/Serializers (manual)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Documentação da API&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Automática (Swagger/ReDoc)&lt;/td&gt;&#xA;          &lt;td&gt;Manual (drf-spectacular)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;ORM&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Nenhum (use SQLAlchemy, Tortoise)&lt;/td&gt;&#xA;          &lt;td&gt;Django ORM (incluso)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Admin&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Não incluso&lt;/td&gt;&#xA;          &lt;td&gt;Django Admin (incluso)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Performance&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Muito alta (~15K req/s)&lt;/td&gt;&#xA;          &lt;td&gt;Moderada (~3K req/s)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Tipagem&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Obrigatória (type hints)&lt;/td&gt;&#xA;          &lt;td&gt;Opcional&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Curva de aprendizado&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Moderada&lt;/td&gt;&#xA;          &lt;td&gt;Íngreme&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Maturidade&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Jovem (7 anos)&lt;/td&gt;&#xA;          &lt;td&gt;Maduro (20+ anos)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;abordagem-de-desenvolvimento&#34;&gt;Abordagem de Desenvolvimento&lt;/h2&gt;&#xA;&lt;h3 id=&#34;fastapi-type-hints-como-contrato&#34;&gt;FastAPI: Type Hints como Contrato&lt;/h3&gt;&#xA;&lt;p&gt;FastAPI usa &lt;a href=&#34;https://python.dev.br/glossario/type-hints/&#34;&gt;type hints&lt;/a&gt; e &lt;a href=&#34;https://python.dev.br/glossario/pydantic/&#34;&gt;Pydantic&lt;/a&gt; para validação automática, serialização e documentação:&lt;/p&gt;</description>
    </item>
    <item>
      <title>frozendict no Python 3.15: Dicionário Imutável</title>
      <link>https://python.dev.br/blog/frozendict-python-3-15-dicionario-imutavel/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/frozendict-python-3-15-dicionario-imutavel/</guid>
      <description>&lt;p&gt;Python sempre teve &lt;code&gt;frozenset&lt;/code&gt; como versão imutável de &lt;code&gt;set&lt;/code&gt;, mas nunca ofereceu o equivalente para dicionários. Isso muda no &lt;strong&gt;Python 3.15&lt;/strong&gt; com a aprovação da &lt;strong&gt;PEP 814&lt;/strong&gt;, que adiciona &lt;code&gt;frozendict&lt;/code&gt; como tipo &lt;strong&gt;built-in&lt;/strong&gt; — sem necessidade de instalar pacotes externos.&lt;/p&gt;&#xA;&lt;p&gt;O &lt;code&gt;frozendict&lt;/code&gt; é um dicionário imutável e hashable que pode ser usado como chave de outros dicionários, elemento de conjuntos e compartilhado entre threads sem preocupação com mutações acidentais. É uma adição que profissionais de Python pediam há mais de uma década.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pandas vs Polars: Comparativo Completo | Python Brasil</title>
      <link>https://python.dev.br/comparacoes/pandas-vs-polars/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/comparacoes/pandas-vs-polars/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Pandas&lt;/strong&gt; é a biblioteca de análise de dados mais popular do ecossistema Python — usada por milhões de analistas e cientistas de dados. &lt;strong&gt;Polars&lt;/strong&gt; é a alternativa moderna, escrita em Rust, que promete 10-100x mais performance. Neste comparativo, vamos analisar quando vale trocar e quando Pandas ainda é a melhor escolha.&lt;/p&gt;&#xA;&lt;h2 id=&#34;tabela-comparativa&#34;&gt;Tabela Comparativa&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Aspecto&lt;/th&gt;&#xA;          &lt;th&gt;Pandas&lt;/th&gt;&#xA;          &lt;th&gt;Polars&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Criada em&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;2008 (Wes McKinney)&lt;/td&gt;&#xA;          &lt;td&gt;2020 (Ritchie Vink)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Linguagem base&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;C/Cython&lt;/td&gt;&#xA;          &lt;td&gt;Rust&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Performance&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Moderada&lt;/td&gt;&#xA;          &lt;td&gt;Muito alta (10-100x mais rápido)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Memória&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Alto consumo&lt;/td&gt;&#xA;          &lt;td&gt;Eficiente (Apache Arrow)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Lazy evaluation&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Não&lt;/td&gt;&#xA;          &lt;td&gt;Sim (otimiza queries automaticamente)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Multi-threading&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Limitado (GIL)&lt;/td&gt;&#xA;          &lt;td&gt;Nativo (Rust, sem GIL)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;API&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Index-based (mutable)&lt;/td&gt;&#xA;          &lt;td&gt;Expression-based (immutable)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Curva de aprendizado&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Suave (mais material)&lt;/td&gt;&#xA;          &lt;td&gt;Moderada (API diferente)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Ecossistema&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Gigantesco&lt;/td&gt;&#xA;          &lt;td&gt;Crescendo rapidamente&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Streaming&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Não (tudo em memória)&lt;/td&gt;&#xA;          &lt;td&gt;Sim (scan_csv, scan_parquet)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;sintaxe-imperativa-vs-declarativa&#34;&gt;Sintaxe: Imperativa vs Declarativa&lt;/h2&gt;&#xA;&lt;p&gt;A maior diferença de filosofia é como você expressa operações.&lt;/p&gt;</description>
    </item>
    <item>
      <title>PEP 770: SBOM em Wheels Python</title>
      <link>https://python.dev.br/blog/pep-770-sbom-wheels-python/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/pep-770-sbom-wheels-python/</guid>
      <description>&lt;p&gt;Enquanto muita gente acompanha novidades de sintaxe e performance no Python, existe outro tema ganhando importância enorme em 2026: &lt;strong&gt;segurança de supply chain&lt;/strong&gt;. Nesse contexto, a &lt;strong&gt;PEP 770&lt;/strong&gt; merece atenção porque trata de algo cada vez mais cobrado por empresas, times de segurança e processos de compliance: a presença de &lt;strong&gt;SBOMs em wheels Python&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;SBOM significa &lt;strong&gt;Software Bill of Materials&lt;/strong&gt;. Em termos simples, é um inventário dos componentes que fazem parte de um software. A ideia da PEP 770 é permitir que pacotes Python distribuídos como wheels incluam arquivos SBOM em um local padronizado dentro de &lt;code&gt;.dist-info/sboms&lt;/code&gt;, facilitando auditoria, rastreabilidade e análise por scanners.&lt;/p&gt;</description>
    </item>
    <item>
      <title>pylock.toml: Instalações Reproduzíveis</title>
      <link>https://python.dev.br/blog/pylock-toml-python-lockfile-padrao/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/pylock-toml-python-lockfile-padrao/</guid>
      <description>&lt;p&gt;O ecossistema Python sempre teve muitas formas de instalar dependências, mas poucas formas realmente padronizadas de &lt;strong&gt;travar versões com reprodutibilidade entre ferramentas&lt;/strong&gt;. Em um projeto você encontra &lt;code&gt;requirements.txt&lt;/code&gt;, em outro &lt;code&gt;poetry.lock&lt;/code&gt;, em outro &lt;code&gt;Pipfile.lock&lt;/code&gt;, e em muitos casos a equipe ainda depende do resolvedor da ferramenta no momento do deploy.&lt;/p&gt;&#xA;&lt;p&gt;Em 2026, uma das novidades mais importantes para quem trabalha com empacotamento, CI/CD e supply chain em Python é a consolidação do &lt;strong&gt;&lt;code&gt;pylock.toml&lt;/code&gt;&lt;/strong&gt;, formato definido pela &lt;strong&gt;PEP 751&lt;/strong&gt;. A ideia é simples, mas poderosa: criar um lockfile padronizado, em TOML, que descreva exatamente quais artefatos podem ser instalados, com hashes, plataformas e metadados suficientes para permitir instalações reproduzíveis sem re-resolver dependências a cada execução.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python 3.14: annotationlib e Anotações</title>
      <link>https://python.dev.br/blog/python-3-14-annotationlib-anotacoes/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-3-14-annotationlib-anotacoes/</guid>
      <description>&lt;p&gt;Quem trabalha com tipagem em Python já esbarrou em alguns problemas clássicos: referências futuras que quebram em tempo de execução, necessidade de usar strings nas anotações, diferenças entre o que o type checker enxerga e o que o runtime consegue interpretar, além de incompatibilidades em frameworks que inspecionam tipos.&lt;/p&gt;&#xA;&lt;p&gt;No Python 3.14, esse cenário muda bastante com a chegada de uma nova base para introspecção de anotações. As &lt;strong&gt;PEPs 649 e 749&lt;/strong&gt; consolidam um modelo de &lt;strong&gt;avaliação tardia&lt;/strong&gt; das anotações, e a biblioteca padrão passa a incluir o módulo &lt;strong&gt;&lt;code&gt;annotationlib&lt;/code&gt;&lt;/strong&gt; para lidar com esse comportamento de forma explícita.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python 3.14: Template Strings na Prática</title>
      <link>https://python.dev.br/blog/python-3-14-template-strings/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-3-14-template-strings/</guid>
      <description>&lt;p&gt;O Python 3.14 traz uma novidade que chama atenção de quem acompanha a evolução da linguagem: as &lt;strong&gt;template strings&lt;/strong&gt;, definidas na &lt;strong&gt;PEP 750&lt;/strong&gt;. À primeira vista, elas parecem só mais uma variação das famosas f-strings. Mas a proposta é diferente: em vez de gerar imediatamente uma &lt;code&gt;str&lt;/code&gt;, uma template string preserva a estrutura da interpolação para que seu código possa inspecionar, transformar ou serializar cada parte de forma controlada.&lt;/p&gt;&#xA;&lt;p&gt;Na prática, isso abre espaço para bibliotecas de &lt;strong&gt;HTML seguro&lt;/strong&gt;, &lt;strong&gt;logging estruturado&lt;/strong&gt;, &lt;strong&gt;DSLs&lt;/strong&gt;, geração de consultas e outros fluxos em que você quer manter separadas as partes estáticas do texto e os valores interpolados. Para quem já usa Python em automação, backend ou ferramentas internas, vale entender desde já como esse recurso funciona.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python 3.15: Lazy Imports na Prática</title>
      <link>https://python.dev.br/blog/python-3-15-lazy-imports/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-3-15-lazy-imports/</guid>
      <description>&lt;p&gt;Entre os assuntos mais interessantes do ecossistema Python em 2026, poucos têm impacto tão imediato no dia a dia quanto os &lt;strong&gt;lazy imports do Python 3.15&lt;/strong&gt;. Em projetos grandes, o custo de importar módulos pode pesar no tempo de inicialização de CLIs, scripts internos, funções serverless e até aplicações web. A proposta da &lt;strong&gt;PEP 810&lt;/strong&gt; é atacar exatamente esse ponto: permitir que certos imports sejam adiados até o momento em que o código realmente precisar deles.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python vs Go: Comparativo Completo | Python Brasil</title>
      <link>https://python.dev.br/comparacoes/python-vs-go/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/comparacoes/python-vs-go/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Python&lt;/strong&gt; e &lt;strong&gt;Go&lt;/strong&gt; são duas linguagens com filosofias parecidas — simplicidade e pragmatismo — mas que resolvem problemas de formas bem diferentes. Python é a rainha da produtividade e do ecossistema de dados. Go é a rainha da performance e da concorrência. Vamos comparar.&lt;/p&gt;&#xA;&lt;h2 id=&#34;tabela-comparativa&#34;&gt;Tabela Comparativa&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Aspecto&lt;/th&gt;&#xA;          &lt;th&gt;Python&lt;/th&gt;&#xA;          &lt;th&gt;Go&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Criada em&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;1991 (Guido van Rossum)&lt;/td&gt;&#xA;          &lt;td&gt;2009 (Google — Rob Pike, Ken Thompson)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Tipagem&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Dinâmica, forte&lt;/td&gt;&#xA;          &lt;td&gt;Estática, forte&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Compilação&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Interpretada&lt;/td&gt;&#xA;          &lt;td&gt;Compilada (binário nativo)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Performance&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Moderada&lt;/td&gt;&#xA;          &lt;td&gt;Muito alta&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Concorrência&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;asyncio, threading, multiprocessing&lt;/td&gt;&#xA;          &lt;td&gt;Goroutines (nativas, leves)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Garbage collector&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Reference counting + GC&lt;/td&gt;&#xA;          &lt;td&gt;GC com baixa latência&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Binário&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Precisa do interpretador&lt;/td&gt;&#xA;          &lt;td&gt;Binário único, sem dependências&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Uso principal&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Data science, IA, automação, backend&lt;/td&gt;&#xA;          &lt;td&gt;Backend, CLI, infraestrutura, cloud&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Curva de aprendizado&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Suave&lt;/td&gt;&#xA;          &lt;td&gt;Suave a moderada&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Genéricos&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Nativos (dinâmico)&lt;/td&gt;&#xA;          &lt;td&gt;Adicionados em Go 1.18 (2022)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;sintaxe-expressividade-vs-minimalismo&#34;&gt;Sintaxe: Expressividade vs Minimalismo&lt;/h2&gt;&#xA;&lt;p&gt;Python valoriza expressividade e múltiplas formas de resolver problemas. Go valoriza ter &lt;strong&gt;uma forma canônica&lt;/strong&gt; de fazer cada coisa — sem mágica.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python vs Java: Comparativo Completo | Python Brasil</title>
      <link>https://python.dev.br/comparacoes/python-vs-java/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/comparacoes/python-vs-java/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Python&lt;/strong&gt; e &lt;strong&gt;Java&lt;/strong&gt; são duas das linguagens mais populares do mundo, mas com filosofias bem diferentes. Python aposta na simplicidade e produtividade. Java aposta em robustez e tipagem estática. Neste comparativo, vamos analisar cada aspecto para te ajudar a escolher.&lt;/p&gt;&#xA;&lt;h2 id=&#34;tabela-comparativa&#34;&gt;Tabela Comparativa&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Aspecto&lt;/th&gt;&#xA;          &lt;th&gt;Python&lt;/th&gt;&#xA;          &lt;th&gt;Java&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Criada em&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;1991 (Guido van Rossum)&lt;/td&gt;&#xA;          &lt;td&gt;1995 (James Gosling, Sun)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Tipagem&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Dinâmica, forte&lt;/td&gt;&#xA;          &lt;td&gt;Estática, forte&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Paradigma&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Multiparadigma&lt;/td&gt;&#xA;          &lt;td&gt;Orientada a objetos (principal)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Compilação&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Interpretada&lt;/td&gt;&#xA;          &lt;td&gt;Compilada para bytecode (JVM)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Performance&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Moderada&lt;/td&gt;&#xA;          &lt;td&gt;Alta (JIT da JVM)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Verbosidade&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Baixa (concisa)&lt;/td&gt;&#xA;          &lt;td&gt;Alta (verbosa)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Gerenciamento de memória&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Garbage collector automático&lt;/td&gt;&#xA;          &lt;td&gt;Garbage collector sofisticado (G1, ZGC)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Uso principal&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Data science, IA, automação, backend&lt;/td&gt;&#xA;          &lt;td&gt;Enterprise, Android, backend corporativo&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Gerenciador de pacotes&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;pip, uv, Poetry&lt;/td&gt;&#xA;          &lt;td&gt;Maven, Gradle&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;IDE dominante&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;VS Code, PyCharm&lt;/td&gt;&#xA;          &lt;td&gt;IntelliJ IDEA, Eclipse&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;sintaxe-concisão-vs-explicitação&#34;&gt;Sintaxe: Concisão vs Explicitação&lt;/h2&gt;&#xA;&lt;p&gt;A diferença mais visível é a quantidade de código necessária para fazer a mesma coisa.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python vs JavaScript: Comparativo Completo | Python Brasil</title>
      <link>https://python.dev.br/comparacoes/python-vs-javascript/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/comparacoes/python-vs-javascript/</guid>
      <description>&lt;p&gt;Escolher entre &lt;strong&gt;Python&lt;/strong&gt; e &lt;strong&gt;JavaScript&lt;/strong&gt; é uma das decisões mais comuns para quem está entrando na programação — ou até para quem já trabalha na área e quer expandir suas habilidades. As duas linguagens dominam rankings como o TIOBE e o Stack Overflow Survey, mas cada uma brilha em cenários diferentes.&lt;/p&gt;&#xA;&lt;p&gt;Neste comparativo, vamos analisar as duas linguagens lado a lado, com exemplos de código, dados do mercado brasileiro e recomendações práticas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python vs Julia: Comparativo Completo | Python Brasil</title>
      <link>https://python.dev.br/comparacoes/python-vs-julia/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/comparacoes/python-vs-julia/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Python&lt;/strong&gt; é a linguagem dominante em ciência de dados e IA. &lt;strong&gt;Julia&lt;/strong&gt; foi criada para ser &amp;ldquo;tão rápida quanto C e tão fácil quanto Python&amp;rdquo;. Neste comparativo, vamos explorar quando Julia supera Python — e quando Python continua sendo a melhor escolha.&lt;/p&gt;&#xA;&lt;h2 id=&#34;tabela-comparativa&#34;&gt;Tabela Comparativa&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Aspecto&lt;/th&gt;&#xA;          &lt;th&gt;Python&lt;/th&gt;&#xA;          &lt;th&gt;Julia&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Criada em&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;1991 (Guido van Rossum)&lt;/td&gt;&#xA;          &lt;td&gt;2012 (Jeff Bezanson et al., MIT)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Tipagem&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Dinâmica, forte&lt;/td&gt;&#xA;          &lt;td&gt;Dinâmica com tipagem opcional, forte&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Compilação&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Interpretada (CPython)&lt;/td&gt;&#xA;          &lt;td&gt;JIT compilada (LLVM)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Performance&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Moderada (compensada por C/Rust)&lt;/td&gt;&#xA;          &lt;td&gt;Muito alta (próxima de C)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Paradigma&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Multiparadigma&lt;/td&gt;&#xA;          &lt;td&gt;Multiple dispatch&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Computação numérica&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;NumPy, SciPy (wrappers C/Fortran)&lt;/td&gt;&#xA;          &lt;td&gt;Nativa — arrays e álgebra linear embutidos&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Machine Learning&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;PyTorch, TensorFlow, scikit-learn&lt;/td&gt;&#xA;          &lt;td&gt;Flux.jl, MLJ.jl&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Ecossistema&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Gigantesco (400K+ pacotes PyPI)&lt;/td&gt;&#xA;          &lt;td&gt;Crescendo (10K+ pacotes)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Mercado de trabalho&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enorme&lt;/td&gt;&#xA;          &lt;td&gt;Muito nicho&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Interop com Python&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;N/A&lt;/td&gt;&#xA;          &lt;td&gt;PyCall.jl (usa libs Python diretamente)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;sintaxe-semelhante-mas-diferente&#34;&gt;Sintaxe: Semelhante mas Diferente&lt;/h2&gt;&#xA;&lt;p&gt;Julia e Python compartilham uma sintaxe acessível, mas Julia foi projetada para computação numérica de alto desempenho.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python vs R: Comparativo Completo | Python Brasil</title>
      <link>https://python.dev.br/comparacoes/python-vs-r/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/comparacoes/python-vs-r/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Python&lt;/strong&gt; e &lt;strong&gt;R&lt;/strong&gt; disputam o trono da ciência de dados há mais de uma década. Python é a linguagem generalista que dominou o ML e a engenharia de dados. R é a linguagem criada por estatísticos, para estatísticos. Neste comparativo, vamos te ajudar a escolher — ou entender quando usar cada uma.&lt;/p&gt;&#xA;&lt;h2 id=&#34;tabela-comparativa&#34;&gt;Tabela Comparativa&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Aspecto&lt;/th&gt;&#xA;          &lt;th&gt;Python&lt;/th&gt;&#xA;          &lt;th&gt;R&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Criada em&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;1991 (Guido van Rossum)&lt;/td&gt;&#xA;          &lt;td&gt;1993 (Ross Ihaka e Robert Gentleman)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Propósito&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Linguagem de propósito geral&lt;/td&gt;&#xA;          &lt;td&gt;Linguagem para computação estatística&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Tipagem&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Dinâmica, forte&lt;/td&gt;&#xA;          &lt;td&gt;Dinâmica, forte&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Paradigma&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Multiparadigma&lt;/td&gt;&#xA;          &lt;td&gt;Funcional e vetorial&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Ecossistema de dados&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Pandas, NumPy, Polars, scikit-learn&lt;/td&gt;&#xA;          &lt;td&gt;tidyverse, dplyr, ggplot2, caret&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Visualização&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Matplotlib, Seaborn, Plotly&lt;/td&gt;&#xA;          &lt;td&gt;ggplot2 (padrão-ouro)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Machine Learning&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;PyTorch, TensorFlow, scikit-learn&lt;/td&gt;&#xA;          &lt;td&gt;tidymodels, caret, mlr3&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;IDE principal&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;VS Code, Jupyter, PyCharm&lt;/td&gt;&#xA;          &lt;td&gt;RStudio&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Produção/Deploy&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Excelente (FastAPI, Docker, cloud)&lt;/td&gt;&#xA;          &lt;td&gt;Limitado (Shiny, Plumber)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Mercado no Brasil&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Muito amplo&lt;/td&gt;&#xA;          &lt;td&gt;Nicho (academia, pesquisa, saúde)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;sintaxe-propósito-geral-vs-estatística-nativa&#34;&gt;Sintaxe: Propósito Geral vs Estatística Nativa&lt;/h2&gt;&#xA;&lt;p&gt;Python é uma linguagem de programação com bibliotecas de dados. R é uma linguagem de dados com capacidades de programação.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python vs Ruby: Comparativo Completo | Python Brasil</title>
      <link>https://python.dev.br/comparacoes/python-vs-ruby/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/comparacoes/python-vs-ruby/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Python&lt;/strong&gt; e &lt;strong&gt;Ruby&lt;/strong&gt; são duas linguagens dinâmicas criadas na mesma época, ambas focadas em produtividade e felicidade do programador. A rivalidade Django vs Rails marcou uma geração inteira de desenvolvedores web. Mas em 2026, as duas linguagens seguiram caminhos bem diferentes.&lt;/p&gt;&#xA;&lt;h2 id=&#34;tabela-comparativa&#34;&gt;Tabela Comparativa&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Aspecto&lt;/th&gt;&#xA;          &lt;th&gt;Python&lt;/th&gt;&#xA;          &lt;th&gt;Ruby&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Criada em&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;1991 (Guido van Rossum)&lt;/td&gt;&#xA;          &lt;td&gt;1995 (Yukihiro &amp;ldquo;Matz&amp;rdquo; Matsumoto)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Filosofia&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&amp;ldquo;Uma maneira óbvia de fazer&amp;rdquo;&lt;/td&gt;&#xA;          &lt;td&gt;&amp;ldquo;Múltiplas maneiras de fazer&amp;rdquo;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Tipagem&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Dinâmica, forte&lt;/td&gt;&#xA;          &lt;td&gt;Dinâmica, forte&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Paradigma&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Multiparadigma&lt;/td&gt;&#xA;          &lt;td&gt;Orientada a objetos pura&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Performance&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Moderada&lt;/td&gt;&#xA;          &lt;td&gt;Moderada (Ruby 3.x com YJIT melhorou)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Framework web principal&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Django, FastAPI&lt;/td&gt;&#xA;          &lt;td&gt;Ruby on Rails&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Uso principal&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Data science, IA, backend, automação&lt;/td&gt;&#xA;          &lt;td&gt;Web apps, startups, DevOps&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Gerenciador de pacotes&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;pip, uv, Poetry&lt;/td&gt;&#xA;          &lt;td&gt;gem, Bundler&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Comunidade no Brasil&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Grande e crescendo&lt;/td&gt;&#xA;          &lt;td&gt;Pequena mas apaixonada&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Metaprogramação&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Possível mas não incentivada&lt;/td&gt;&#xA;          &lt;td&gt;Central na linguagem&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;sintaxe-explícito-vs-elegante&#34;&gt;Sintaxe: Explícito vs Elegante&lt;/h2&gt;&#xA;&lt;p&gt;Python segue o princípio &amp;ldquo;explicit is better than implicit&amp;rdquo;. Ruby permite mais &amp;ldquo;mágica&amp;rdquo; e prioriza que o código leia como prosa.&lt;/p&gt;</description>
    </item>
    <item>
      <title>PyTorch vs TensorFlow: Comparativo Completo | Python Brasil</title>
      <link>https://python.dev.br/comparacoes/pytorch-vs-tensorflow/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/comparacoes/pytorch-vs-tensorflow/</guid>
      <description>&lt;p&gt;&lt;strong&gt;PyTorch&lt;/strong&gt; e &lt;strong&gt;TensorFlow&lt;/strong&gt; são os dois frameworks de deep learning mais importantes do mundo. PyTorch domina a pesquisa acadêmica. TensorFlow domina a produção. Mas essa divisão está mudando. Neste comparativo, vamos analisar o estado dos dois em 2026.&lt;/p&gt;&#xA;&lt;h2 id=&#34;tabela-comparativa&#34;&gt;Tabela Comparativa&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Aspecto&lt;/th&gt;&#xA;          &lt;th&gt;PyTorch&lt;/th&gt;&#xA;          &lt;th&gt;TensorFlow&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Criado por&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Meta (Facebook AI Research)&lt;/td&gt;&#xA;          &lt;td&gt;Google Brain&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Lançado em&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;2016&lt;/td&gt;&#xA;          &lt;td&gt;2015&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Paradigma&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Eager execution (dinâmico)&lt;/td&gt;&#xA;          &lt;td&gt;Graph execution (estático) + eager&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;API principal&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;PyTorch nativo&lt;/td&gt;&#xA;          &lt;td&gt;Keras (integrado)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Debugging&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Natural (print, pdb)&lt;/td&gt;&#xA;          &lt;td&gt;Mais difícil (graph mode)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Pesquisa&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Dominante (80%+ dos papers)&lt;/td&gt;&#xA;          &lt;td&gt;Minoritário&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Produção&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;TorchServe, ONNX&lt;/td&gt;&#xA;          &lt;td&gt;TF Serving, TFLite, TF.js&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Mobile/Edge&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;PyTorch Mobile, ExecuTorch&lt;/td&gt;&#xA;          &lt;td&gt;TensorFlow Lite&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Distribuído&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;DistributedDataParallel&lt;/td&gt;&#xA;          &lt;td&gt;tf.distribute.Strategy&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Ecossistema NLP&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Hugging Face (nativo)&lt;/td&gt;&#xA;          &lt;td&gt;Hugging Face (suportado)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Curva de aprendizado&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Mais suave (pythônico)&lt;/td&gt;&#xA;          &lt;td&gt;Moderada&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;definindo-um-modelo&#34;&gt;Definindo um Modelo&lt;/h2&gt;&#xA;&lt;h3 id=&#34;pytorch-pythônico-e-direto&#34;&gt;PyTorch: Pythônico e Direto&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;torch&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;torch.nn&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;as&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;nn&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nc&#34;&gt;ClassificadorImagem&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Module&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;fm&#34;&gt;__init__&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;num_classes&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;int&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nb&#34;&gt;super&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;fm&#34;&gt;__init__&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;features&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Sequential&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Conv2d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;32&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;kernel_size&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;padding&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;BatchNorm2d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;32&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ReLU&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;MaxPool2d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Conv2d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;32&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;64&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;kernel_size&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;padding&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;BatchNorm2d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;64&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ReLU&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;MaxPool2d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Conv2d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;64&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;128&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;kernel_size&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;padding&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;BatchNorm2d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;128&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ReLU&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;AdaptiveAvgPool2d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;classifier&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Sequential&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Flatten&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Linear&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;128&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;256&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ReLU&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Dropout&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;0.5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Linear&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;256&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;num_classes&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;forward&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;features&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;classifier&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;x&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;modelo&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ClassificadorImagem&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;num_classes&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Parâmetros: &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;sum&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;p&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;numel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;p&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;modelo&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;parameters&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;())&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;tensorflowkeras-declarativo-e-camadas&#34;&gt;TensorFlow/Keras: Declarativo e Camadas&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;tensorflow&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;as&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;tf&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;tensorflow&lt;/span&gt; &lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;keras&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;keras&lt;/span&gt; &lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;layers&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;modelo&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;keras&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Sequential&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;([&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;layers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Conv2D&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;32&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;padding&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;same&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;activation&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;relu&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;input_shape&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;32&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;32&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;layers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;BatchNormalization&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;layers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;MaxPooling2D&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;layers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Conv2D&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;64&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;padding&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;same&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;activation&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;relu&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;layers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;BatchNormalization&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;layers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;MaxPooling2D&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;layers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Conv2D&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;128&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;padding&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;same&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;activation&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;relu&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;layers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;BatchNormalization&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;layers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;GlobalAveragePooling2D&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;layers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Dense&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;256&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;activation&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;relu&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;layers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Dropout&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;0.5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;layers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Dense&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;modelo&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;summary&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Keras é mais conciso para modelos sequenciais. PyTorch com &lt;code&gt;nn.Module&lt;/code&gt; dá mais controle no &lt;code&gt;forward()&lt;/code&gt; — você pode adicionar lógica condicional, loops e debugging facilmente.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ty: Type Checker Rápido para Python</title>
      <link>https://python.dev.br/blog/ty-type-checker-python-rust/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/ty-type-checker-python-rust/</guid>
      <description>&lt;p&gt;O ecossistema Python ganhou mais uma ferramenta para acompanhar em 2026: o &lt;strong&gt;&lt;code&gt;ty&lt;/code&gt;&lt;/strong&gt;, um &lt;strong&gt;type checker&lt;/strong&gt; e também &lt;strong&gt;language server&lt;/strong&gt; implementado em Rust pela Astral, empresa já conhecida por projetos como o Ruff e o UV. A promessa é ambiciosa: trazer checagem de tipos com foco pesado em performance, boa experiência no editor e adoção gradual em bases de código reais.&lt;/p&gt;&#xA;&lt;p&gt;Para quem já usa &lt;strong&gt;mypy&lt;/strong&gt; ou &lt;strong&gt;Pyright&lt;/strong&gt;, a pergunta natural é: vale a pena olhar para isso agora? A resposta curta é sim, principalmente se você acompanha ferramentas modernas de produtividade em Python. Mas é importante entender o contexto: o projeto ainda está em fase de evolução rápida, então o melhor uso hoje é para experimentação, comparação e aprendizado.&lt;/p&gt;</description>
    </item>
    <item>
      <title>HTTPX: A Alternativa Moderna ao Requests em Python</title>
      <link>https://python.dev.br/blog/python-httpx-requests-moderno/</link>
      <pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-httpx-requests-moderno/</guid>
      <description>&lt;p&gt;O &lt;code&gt;requests&lt;/code&gt; é a biblioteca HTTP mais popular do Python — simples, elegante e presente em praticamente todo projeto. Mas ela tem limitações: &lt;strong&gt;não suporta async nativamente&lt;/strong&gt; e &lt;strong&gt;não fala HTTP/2&lt;/strong&gt;. O &lt;strong&gt;HTTPX&lt;/strong&gt; resolve essas duas questões mantendo uma API quase idêntica ao &lt;code&gt;requests&lt;/code&gt;, tornando a migração natural.&lt;/p&gt;&#xA;&lt;p&gt;Neste artigo, vamos explorar o HTTPX em detalhes: instalação, uso básico e avançado, async, HTTP/2 e um guia prático de migração.&lt;/p&gt;&#xA;&lt;h2 id=&#34;por-que-httpx&#34;&gt;Por Que HTTPX?&lt;/h2&gt;&#xA;&lt;p&gt;O HTTPX foi criado como um &amp;ldquo;requests para a era moderna&amp;rdquo; do Python. Veja os principais diferenciais:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python e WhatsApp: Automatize Mensagens com API</title>
      <link>https://python.dev.br/blog/python-e-whatsapp-api-automacao/</link>
      <pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-e-whatsapp-api-automacao/</guid>
      <description>&lt;p&gt;Automatizar mensagens no WhatsApp é uma das demandas mais comuns em empresas brasileiras. Seja para notificações de pedido, confirmações de agendamento ou atendimento ao cliente, a &lt;strong&gt;WhatsApp Business API&lt;/strong&gt; combinada com Python oferece uma solução robusta e escalável.&lt;/p&gt;&#xA;&lt;p&gt;Neste artigo, vamos cobrir desde a configuração inicial na Meta até o envio de mensagens e recebimento de webhooks com código Python funcional.&lt;/p&gt;&#xA;&lt;h2 id=&#34;whatsapp-business-api-vs-bibliotecas-não-oficiais&#34;&gt;WhatsApp Business API vs Bibliotecas Não-Oficiais&lt;/h2&gt;&#xA;&lt;p&gt;Antes de começar, é importante entender as opções disponíveis:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ferramentas Essenciais para Desenvolvedores Python em 2026 | python.dev.br</title>
      <link>https://python.dev.br/ferramentas/ferramentas-essenciais-python/</link>
      <pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/ferramentas/ferramentas-essenciais-python/</guid>
      <description>&lt;p&gt;O ecossistema Python em 2026 é incrivelmente rico em ferramentas de desenvolvimento. Mas com tantas opções, é fácil ficar perdido: pip ou uv? Black ou Ruff? Poetry ou pipenv? Neste artigo, vamos mapear as ferramentas essenciais que todo desenvolvedor Python deveria conhecer, organizadas por categoria, com comparativos práticos para você montar seu toolkit ideal.&lt;/p&gt;&#xA;&lt;h2 id=&#34;gerenciamento-de-pacotes-e-ambientes&#34;&gt;Gerenciamento de Pacotes e Ambientes&lt;/h2&gt;&#xA;&lt;h3 id=&#34;pip--o-clássico&#34;&gt;pip — O Clássico&lt;/h3&gt;&#xA;&lt;p&gt;O &lt;a href=&#34;https://python.dev.br/glossario/pip/&#34;&gt;pip&lt;/a&gt; é o gerenciador de pacotes padrão do Python. Vem instalado junto com o Python e é a forma mais básica de instalar bibliotecas:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ferramentas Python para Data Science: Guia Completo 2026 | python.dev.br</title>
      <link>https://python.dev.br/ferramentas/python-ferramentas-data-science/</link>
      <pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/ferramentas/python-ferramentas-data-science/</guid>
      <description>&lt;p&gt;Python é a linguagem número um para ciência de dados — e não é por acaso. O ecossistema de ferramentas e bibliotecas para análise, visualização e machine learning é o mais completo e maduro que existe. Neste guia, vamos revisar as ferramentas essenciais para quem trabalha (ou quer trabalhar) com data science em Python, com comparativos práticos e recomendações para 2026.&lt;/p&gt;&#xA;&lt;h2 id=&#34;ambientes-de-desenvolvimento&#34;&gt;Ambientes de Desenvolvimento&lt;/h2&gt;&#xA;&lt;h3 id=&#34;jupyter-notebook-e-jupyterlab&#34;&gt;Jupyter Notebook e JupyterLab&lt;/h3&gt;&#xA;&lt;p&gt;O &lt;a href=&#34;https://python.dev.br/glossario/jupyter-notebook/&#34;&gt;Jupyter Notebook&lt;/a&gt; é o ambiente interativo padrão para ciência de dados. Permite executar código em células, intercalando código Python, texto em Markdown, equações LaTeX e visualizações:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Melhores IDEs e Editores para Python em 2026 | python.dev.br</title>
      <link>https://python.dev.br/ferramentas/melhores-ides-editores-python/</link>
      <pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/ferramentas/melhores-ides-editores-python/</guid>
      <description>&lt;p&gt;Escolher a IDE ou editor certo pode transformar sua produtividade como desenvolvedor Python. Com tantas opções disponíveis — de editores leves como o VS Code até IDEs completas como o PyCharm — a decisão nem sempre é simples. Neste comparativo, vamos analisar as principais ferramentas de edição de código para Python em 2026, com prós, contras e recomendações práticas.&lt;/p&gt;&#xA;&lt;h2 id=&#34;vs-code-com-extensão-python&#34;&gt;VS Code com Extensão Python&lt;/h2&gt;&#xA;&lt;p&gt;O &lt;strong&gt;Visual Studio Code&lt;/strong&gt; é, de longe, o editor mais popular entre desenvolvedores Python no Brasil e no mundo. Gratuito e open-source, ele combina leveza com um ecossistema de extensões absurdamente rico.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python vs Go: Qual Melhor para Backend em 2026?</title>
      <link>https://python.dev.br/blog/python-vs-go-qual-melhor-backend-2026/</link>
      <pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-vs-go-qual-melhor-backend-2026/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Python&lt;/strong&gt; e &lt;strong&gt;Go&lt;/strong&gt; são duas das linguagens mais populares para desenvolvimento backend, mas com abordagens radicalmente diferentes. Python aposta em &lt;strong&gt;produtividade e ecossistema rico&lt;/strong&gt;, enquanto Go foca em &lt;strong&gt;performance, simplicidade e concorrência nativa&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Neste comparativo para 2026, analisamos quando usar cada uma, com exemplos de código, benchmarks e dados do mercado brasileiro.&lt;/p&gt;&#xA;&lt;h2 id=&#34;comparação-rápida&#34;&gt;Comparação Rápida&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Aspecto&lt;/th&gt;&#xA;          &lt;th&gt;Python&lt;/th&gt;&#xA;          &lt;th&gt;Go&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Criação&lt;/td&gt;&#xA;          &lt;td&gt;1991 (Guido van Rossum)&lt;/td&gt;&#xA;          &lt;td&gt;2009 (Google)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Tipagem&lt;/td&gt;&#xA;          &lt;td&gt;Dinâmica, forte&lt;/td&gt;&#xA;          &lt;td&gt;Estática, forte&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Compilação&lt;/td&gt;&#xA;          &lt;td&gt;Interpretada&lt;/td&gt;&#xA;          &lt;td&gt;Compilada (binário nativo)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Performance&lt;/td&gt;&#xA;          &lt;td&gt;Moderada&lt;/td&gt;&#xA;          &lt;td&gt;Alta (próxima de C)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Concorrência&lt;/td&gt;&#xA;          &lt;td&gt;asyncio, &lt;a href=&#34;https://python.dev.br/glossario/threading/&#34;&gt;threading&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Goroutines (nativo)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Deploy&lt;/td&gt;&#xA;          &lt;td&gt;Requer runtime (Python)&lt;/td&gt;&#xA;          &lt;td&gt;Binário único&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Framework web&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://python.dev.br/glossario/django/&#34;&gt;Django&lt;/a&gt;, &lt;a href=&#34;https://python.dev.br/glossario/fastapi/&#34;&gt;FastAPI&lt;/a&gt;, &lt;a href=&#34;https://python.dev.br/glossario/flask/&#34;&gt;Flask&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Gin, Echo, Chi&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Gerenciador de pacotes&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://python.dev.br/glossario/pip/&#34;&gt;pip&lt;/a&gt;, &lt;a href=&#34;https://python.dev.br/blog/uv-gerenciador-pacotes-python/&#34;&gt;UV&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;go modules&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Curva de aprendizado&lt;/td&gt;&#xA;          &lt;td&gt;Suave&lt;/td&gt;&#xA;          &lt;td&gt;Moderada&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Uso principal&lt;/td&gt;&#xA;          &lt;td&gt;APIs, IA, dados, automação&lt;/td&gt;&#xA;          &lt;td&gt;Microsserviços, cloud, DevOps&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;sintaxe-comparada&#34;&gt;Sintaxe Comparada&lt;/h2&gt;&#xA;&lt;h3 id=&#34;api-rest-básica&#34;&gt;API REST Básica&lt;/h3&gt;&#xA;&lt;p&gt;&lt;strong&gt;Python com FastAPI:&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python vs Java: Comparativo Completo 2026</title>
      <link>https://python.dev.br/blog/python-vs-java-comparativo-completo-2026/</link>
      <pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-vs-java-comparativo-completo-2026/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Python&lt;/strong&gt; e &lt;strong&gt;Java&lt;/strong&gt; são duas das linguagens mais utilizadas no mundo, mas com filosofias completamente diferentes. Java domina o mundo corporativo e bancário, enquanto Python lidera em dados, IA e automação.&lt;/p&gt;&#xA;&lt;p&gt;Neste comparativo atualizado para 2026, vamos analisar sintaxe, performance, ecossistema e mercado de trabalho brasileiro para ajudar você a escolher.&lt;/p&gt;&#xA;&lt;h2 id=&#34;comparação-rápida&#34;&gt;Comparação Rápida&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Aspecto&lt;/th&gt;&#xA;          &lt;th&gt;Python&lt;/th&gt;&#xA;          &lt;th&gt;Java&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Criação&lt;/td&gt;&#xA;          &lt;td&gt;1991&lt;/td&gt;&#xA;          &lt;td&gt;1995&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Tipagem&lt;/td&gt;&#xA;          &lt;td&gt;Dinâmica, forte&lt;/td&gt;&#xA;          &lt;td&gt;Estática, forte&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Compilação&lt;/td&gt;&#xA;          &lt;td&gt;Interpretada&lt;/td&gt;&#xA;          &lt;td&gt;Compilada (JVM)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Performance&lt;/td&gt;&#xA;          &lt;td&gt;Moderada&lt;/td&gt;&#xA;          &lt;td&gt;Alta&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Verbosidade&lt;/td&gt;&#xA;          &lt;td&gt;Baixa (concisa)&lt;/td&gt;&#xA;          &lt;td&gt;Alta (verbosa)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Framework web&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://python.dev.br/glossario/django/&#34;&gt;Django&lt;/a&gt;, &lt;a href=&#34;https://python.dev.br/glossario/fastapi/&#34;&gt;FastAPI&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Spring Boot&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Uso principal&lt;/td&gt;&#xA;          &lt;td&gt;Data science, IA, scripts&lt;/td&gt;&#xA;          &lt;td&gt;Enterprise, Android, banking&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Concorrência&lt;/td&gt;&#xA;          &lt;td&gt;asyncio, &lt;a href=&#34;https://python.dev.br/glossario/multiprocessing/&#34;&gt;multiprocessing&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Threads nativas, Virtual Threads&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Gerenciador de pacotes&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://python.dev.br/glossario/pip/&#34;&gt;pip&lt;/a&gt;, &lt;a href=&#34;https://python.dev.br/blog/uv-gerenciador-pacotes-python/&#34;&gt;UV&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Maven, Gradle&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;sintaxe-comparada&#34;&gt;Sintaxe Comparada&lt;/h2&gt;&#xA;&lt;p&gt;A diferença de verbosidade entre Python e Java é uma das mais marcantes entre qualquer par de linguagens.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python vs JavaScript: Qual Aprender em 2026?</title>
      <link>https://python.dev.br/blog/python-vs-javascript-qual-aprender-2026/</link>
      <pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-vs-javascript-qual-aprender-2026/</guid>
      <description>&lt;p&gt;A escolha entre &lt;strong&gt;Python&lt;/strong&gt; e &lt;strong&gt;JavaScript&lt;/strong&gt; continua sendo uma das dúvidas mais comuns de quem está começando na programação em 2026. Ambas dominam o mercado, mas atendem a necessidades bem diferentes.&lt;/p&gt;&#xA;&lt;p&gt;Neste artigo, vamos comparar as duas linguagens de forma atualizada, com dados do mercado brasileiro, exemplos de código e recomendações práticas para você tomar a melhor decisão.&lt;/p&gt;&#xA;&lt;h2 id=&#34;comparação-rápida&#34;&gt;Comparação Rápida&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Aspecto&lt;/th&gt;&#xA;          &lt;th&gt;Python&lt;/th&gt;&#xA;          &lt;th&gt;JavaScript&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Criação&lt;/td&gt;&#xA;          &lt;td&gt;1991 (Guido van Rossum)&lt;/td&gt;&#xA;          &lt;td&gt;1995 (Brendan Eich)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Tipagem&lt;/td&gt;&#xA;          &lt;td&gt;Dinâmica, forte&lt;/td&gt;&#xA;          &lt;td&gt;Dinâmica, fraca&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Principal uso&lt;/td&gt;&#xA;          &lt;td&gt;Data science, IA, automação, backend&lt;/td&gt;&#xA;          &lt;td&gt;Web (front e back), apps mobile&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Framework web principal&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://python.dev.br/glossario/django/&#34;&gt;Django&lt;/a&gt;, &lt;a href=&#34;https://python.dev.br/glossario/fastapi/&#34;&gt;FastAPI&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;React, Next.js, Express&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Curva de aprendizado&lt;/td&gt;&#xA;          &lt;td&gt;Mais suave&lt;/td&gt;&#xA;          &lt;td&gt;Moderada&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Performance&lt;/td&gt;&#xA;          &lt;td&gt;Moderada (melhorando com &lt;a href=&#34;https://python.dev.br/blog/python-3-13-free-threaded-sem-gil/&#34;&gt;free-threading&lt;/a&gt;)&lt;/td&gt;&#xA;          &lt;td&gt;Boa (V8 engine)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Execução no browser&lt;/td&gt;&#xA;          &lt;td&gt;Não (nativo)&lt;/td&gt;&#xA;          &lt;td&gt;Sim (única linguagem nativa)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Gerenciador de pacotes&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://python.dev.br/glossario/pip/&#34;&gt;pip&lt;/a&gt;, &lt;a href=&#34;https://python.dev.br/glossario/poetry/&#34;&gt;Poetry&lt;/a&gt;, &lt;a href=&#34;https://python.dev.br/blog/uv-gerenciador-pacotes-python/&#34;&gt;UV&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;npm, yarn, pnpm&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Vagas remotas Brasil&lt;/td&gt;&#xA;          &lt;td&gt;Alta demanda&lt;/td&gt;&#xA;          &lt;td&gt;Altíssima demanda&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;sintaxe-comparada&#34;&gt;Sintaxe Comparada&lt;/h2&gt;&#xA;&lt;p&gt;Vamos ver como cada linguagem resolve os mesmos problemas na prática.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ambev</title>
      <link>https://python.dev.br/empresas/ambev/</link>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/empresas/ambev/</guid>
      <description>&lt;p&gt;Ambev é uma empresa do setor de Food and Beverage Services localizada em São Paulo que utiliza Python em sua stack tecnológica. Com 10,000+ funcionários, a empresa oferece oportunidades para desenvolvedores Python. Atualmente possui 4702 vagas abertas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Assaí Atacadista</title>
      <link>https://python.dev.br/empresas/assai-atacadista/</link>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/empresas/assai-atacadista/</guid>
      <description>&lt;p&gt;Assaí Atacadista: economia e tecnologia em São Paulo! Encontre as melhores ofertas para seu negócio ou família no maior atacadista do Brasil.&lt;/p&gt;&#xA;&lt;p&gt;Com sede em São Paulo, o Assaí utiliza Python no desenvolvimento de suas soluções tecnológicas, desde o backend até a análise de dados para otimizar a experiência do cliente e a eficiência operacional. Uma ótima oportunidade para desenvolvedores Python que buscam desafios em um ambiente dinâmico e de grande impacto.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Banco do Brasil</title>
      <link>https://python.dev.br/empresas/banco-do-brasil/</link>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/empresas/banco-do-brasil/</guid>
      <description>&lt;p&gt;Banco do Brasil: Inovação e tecnologia no maior banco do país. Buscamos talentos em desenvolvimento Python para construir o futuro do banking. Participe da nossa jornada de transformação digital!&lt;/p&gt;&#xA;&lt;p&gt;Desenvolva soluções inovadoras no Banco do Brasil, utilizando Python e outras tecnologias de ponta. Seja parte de um time que impacta milhões de brasileiros, trabalhando em projetos desafiadores e com grande potencial de crescimento.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bradesco</title>
      <link>https://python.dev.br/empresas/bradesco/</link>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/empresas/bradesco/</guid>
      <description>&lt;p&gt;Bradesco: Inovação Bancária com Python em Osasco!&lt;/p&gt;&#xA;&lt;p&gt;O Bradesco, gigante do setor bancário com sede em Osasco, está buscando talentos em Python! Se você é desenvolvedor(a) e busca desafios em projetos inovadores, o Bradesco pode ser o seu lugar. Usamos Python no nosso backend e diversas outras aplicações, buscando sempre as melhores soluções para nossos clientes.&lt;/p&gt;&#xA;&lt;p&gt;Venha fazer parte de um time que transforma o futuro do banking com tecnologia de ponta! Explore nossas oportunidades e impulsione sua carreira no Bradesco.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Claro Brasil</title>
      <link>https://python.dev.br/empresas/claro-brasil/</link>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/empresas/claro-brasil/</guid>
      <description>&lt;p&gt;Claro Brasil: Conectando você ao futuro com tecnologia de ponta! Sediada em São Paulo, a Claro é líder em telecomunicações e busca constantemente inovação para oferecer a melhor experiência aos seus clientes.&lt;/p&gt;&#xA;&lt;p&gt;Fazemos uso intensivo de Python no nosso backend e em diversas outras áreas, desde análise de dados até automação de processos. Se você é um desenvolvedor Python talentoso e busca um ambiente desafiador e cheio de oportunidades, a Claro Brasil pode ser o seu lugar!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Einstein Hospital Israelita</title>
      <link>https://python.dev.br/empresas/einstein-hospital-israelita/</link>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/empresas/einstein-hospital-israelita/</guid>
      <description>&lt;p&gt;Einstein Hospital Israelita é uma empresa do setor de tecnologia localizada em São Paulo que utiliza Python em sua stack tecnológica. Com 10,000+ funcionários, a empresa oferece oportunidades para desenvolvedores Python. Atualmente possui 1335 vagas abertas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Grupo Boticário</title>
      <link>https://python.dev.br/empresas/grupo-boticario/</link>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/empresas/grupo-boticario/</guid>
      <description>&lt;p&gt;Grupo Boticário: Beleza, Inovação e Tecnologia em Curitiba! Fabricamos produtos de beleza e cuidados pessoais que você adora. Sabia que usamos Python no nosso backend e outras soluções?&lt;/p&gt;&#xA;&lt;p&gt;Se você é desenvolvedor Python, o Grupo Boticário é um lugar incrível para aplicar suas habilidades! Estamos sempre buscando talentos para inovar e criar experiências incríveis para nossos clientes. Vem construir o futuro da beleza com a gente!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Grupo GPS</title>
      <link>https://python.dev.br/empresas/grupo-gps/</link>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/empresas/grupo-gps/</guid>
      <description>&lt;p&gt;Grupo GPS é uma empresa do setor de Facilities Services localizada em São Paulo que utiliza Python em sua stack tecnológica. Com 10,000+ funcionários, a empresa oferece oportunidades para desenvolvedores Python. Atualmente possui 507 vagas abertas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Itaú Unibanco</title>
      <link>https://python.dev.br/empresas/itau-unibanco/</link>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/empresas/itau-unibanco/</guid>
      <description>&lt;p&gt;Itaú Unibanco: O maior banco privado da América Latina, com sede em São Paulo, busca talentos Python para inovar no setor financeiro. Se você é desenvolvedor Python e busca desafios no backend de sistemas complexos, essa é sua chance!&lt;/p&gt;&#xA;&lt;p&gt;Participe da transformação digital do Itaú Unibanco, usando Python em projetos de alta performance e com impacto global. Venha construir o futuro do banking conosco!&lt;/p&gt;</description>
    </item>
    <item>
      <title>JBS</title>
      <link>https://python.dev.br/empresas/jbs/</link>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/empresas/jbs/</guid>
      <description>&lt;p&gt;JBS: Líder global em alimentos com sede em São Paulo. Sabia que a JBS usa Python no desenvolvimento de suas soluções? Se você é desenvolvedor Python, essa é uma ótima oportunidade para trabalhar em projetos desafiadores no setor de Food &amp;amp; Beverage.&lt;/p&gt;&#xA;&lt;p&gt;A JBS S.A. está buscando profissionais de Python para integrar sua equipe e contribuir para o futuro da indústria alimentícia. Explore as vagas e faça parte de uma empresa inovadora que valoriza o talento brasileiro.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Magalu</title>
      <link>https://python.dev.br/empresas/magalu/</link>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/empresas/magalu/</guid>
      <description>&lt;p&gt;Magalu é uma empresa do setor de tecnologia localizada em SAO PAULO que utiliza Python em sua stack tecnológica. Com 10,000+ funcionários, a empresa oferece oportunidades para desenvolvedores Python. Atualmente possui 8182 vagas abertas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>MBRF</title>
      <link>https://python.dev.br/empresas/mbrf/</link>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/empresas/mbrf/</guid>
      <description>&lt;p&gt;MBRF é uma empresa do setor de tecnologia localizada em São Paulo que utiliza Python em sua stack tecnológica. Com 10,000+ funcionários, a empresa oferece oportunidades para desenvolvedores Python. Atualmente possui 2605 vagas abertas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mercado Livre Brasil</title>
      <link>https://python.dev.br/empresas/mercado-livre-brasil/</link>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/empresas/mercado-livre-brasil/</guid>
      <description>&lt;p&gt;Mercado Livre Brasil: gigante de tecnologia e e-commerce em São Paulo! Procurando oportunidades? Desenvolvedores Python encontram aqui desafios incríveis.&lt;/p&gt;&#xA;&lt;p&gt;Na nossa stack, Python é peça fundamental no desenvolvimento do backend e outras soluções inovadoras. Venha cocriar o futuro do comércio eletrônico conosco!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Natura</title>
      <link>https://python.dev.br/empresas/natura/</link>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/empresas/natura/</guid>
      <description>&lt;p&gt;Natura é uma empresa do setor de Personal Care Product Manufacturing localizada em São Paulo que utiliza Python em sua stack tecnológica. Com 10,000+ funcionários, a empresa oferece oportunidades para desenvolvedores Python. Atualmente possui 1537 vagas abertas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python e DuckDB: Análise de Dados Ultrarrápida — 2026 | python.dev.br</title>
      <link>https://python.dev.br/blog/python-e-duckdb-analytics/</link>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-e-duckdb-analytics/</guid>
      <description>&lt;p&gt;Se você trabalha com análise de dados em Python, provavelmente já passou por situações em que o &lt;a href=&#34;https://python.dev.br/blog/introducao-ao-pandas/&#34;&gt;Pandas&lt;/a&gt; ficava lento demais para datasets grandes, mas subir um banco de dados completo parecia exagero. É exatamente nesse espaço que o &lt;strong&gt;DuckDB&lt;/strong&gt; brilha — um banco de dados analítico embutido, sem servidor, que roda SQL diretamente em arquivos CSV, Parquet e até DataFrames do Pandas.&lt;/p&gt;&#xA;&lt;p&gt;Neste artigo, vamos explorar como usar DuckDB com Python, desde a instalação até consultas avançadas, com exemplos práticos para o dia a dia.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python Protocols: Tipagem Estrutural Sem Herança — 2026 | python.dev.br</title>
      <link>https://python.dev.br/blog/python-protocols-tipagem-estrutural/</link>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-protocols-tipagem-estrutural/</guid>
      <description>&lt;p&gt;Python sempre foi uma linguagem de &lt;strong&gt;duck typing&lt;/strong&gt;: se um objeto tem os métodos certos, ele funciona — independente da classe ou herança. Mas quando você adiciona &lt;a href=&#34;https://python.dev.br/blog/tipagem-estatica-python-mypy/&#34;&gt;type hints&lt;/a&gt; ao código, surge um problema: como tipar algo que depende de comportamento, e não de uma classe específica?&lt;/p&gt;&#xA;&lt;p&gt;A resposta veio com a PEP 544 no Python 3.8: &lt;strong&gt;Protocol&lt;/strong&gt; — uma forma de definir interfaces baseadas em estrutura, não em herança. Neste artigo, vamos explorar como Protocols funcionam, quando usá-los, e como eles transformam a qualidade do código Python.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Raízen</title>
      <link>https://python.dev.br/empresas/raizen/</link>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/empresas/raizen/</guid>
      <description>&lt;p&gt;Raízen: gigante de energia integrada em São Paulo! Desenvolvemos soluções inovadoras para o setor de combustíveis e energia, utilizando Python em nosso backend e diversas aplicações.&lt;/p&gt;&#xA;&lt;p&gt;Se você é desenvolvedor Python e busca desafios em uma empresa líder no Brasil, a Raízen oferece oportunidades incríveis para trabalhar com tecnologias de ponta e impactar milhões de pessoas. Venha fazer parte do nosso time!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Rede D&#39;Or</title>
      <link>https://python.dev.br/empresas/rede-d-or/</link>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/empresas/rede-d-or/</guid>
      <description>&lt;p&gt;Rede D&amp;rsquo;Or é uma empresa do setor de tecnologia localizada em Rio de Janeiro que utiliza Python em sua stack tecnológica. Com 10,000+ funcionários, a empresa oferece oportunidades para desenvolvedores Python. Atualmente possui 1189 vagas abertas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Riachuelo</title>
      <link>https://python.dev.br/empresas/riachuelo/</link>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/empresas/riachuelo/</guid>
      <description>&lt;p&gt;Riachuelo é uma empresa do setor de Retail Apparel and Fashion localizada em São Paulo que utiliza Python em sua stack tecnológica. Com 10,000+ funcionários, a empresa oferece oportunidades para desenvolvedores Python. Atualmente possui 5679 vagas abertas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>usiminas</title>
      <link>https://python.dev.br/empresas/usiminas/</link>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/empresas/usiminas/</guid>
      <description>&lt;p&gt;&lt;strong&gt;usiminas: Líder em Aços Planos com Tecnologia de Ponta em Python&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;A usiminas, gigante do setor de mineração em Belo Horizonte, impulsiona sua liderança no mercado de aços planos com inovação constante. Sabia que a gente usa Python no nosso backend e outras soluções? Se você é desenvolvedor Python e busca desafios em projetos de grande escala, fique de olho nas nossas oportunidades!&lt;/p&gt;&#xA;&lt;p&gt;Estamos sempre buscando talentos que dominem frameworks modernos e queiram fazer a diferença em uma empresa que valoriza a tecnologia. Venha construir o futuro do aço com a gente!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vale</title>
      <link>https://python.dev.br/empresas/vale/</link>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/empresas/vale/</guid>
      <description>&lt;p&gt;Vale: Mineração global no Rio com foco em transição energética. Produzimos níquel, cobre e cobalto essenciais para o futuro. Nossa equipe de tecnologia no Rio de Janeiro usa Python para otimizar processos e inovar em soluções para a mineração do futuro.&lt;/p&gt;&#xA;&lt;p&gt;Se você é desenvolvedor Python e busca desafios em um ambiente dinâmico, a Vale é o lugar certo! Estamos construindo soluções inovadoras com Python para otimizar nossas operações e impulsionar a transição energética global. Venha fazer parte da nossa equipe no Rio!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Veolia Brasil</title>
      <link>https://python.dev.br/empresas/veolia-brasil/</link>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/empresas/veolia-brasil/</guid>
      <description>&lt;p&gt;Veolia Brasil: Soluções ambientais inovadoras em São Paulo. Somos líderes em serviços ambientais, utilizando tecnologia de ponta para um futuro sustentável.&lt;/p&gt;&#xA;&lt;p&gt;Empregamos Python em nosso backend e infraestrutura, buscando desenvolvedores talentosos para otimizar nossos sistemas e criar soluções inovadoras. Junte-se à Veolia e impulsione sua carreira!&lt;/p&gt;&#xA;&lt;p&gt;A Veolia Brasil, com sede em São Paulo, oferece um ambiente desafiador e oportunidades de crescimento para profissionais de tecnologia que dominam Python e outras ferramentas modernas. Venha fazer a diferença!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vivo (Telefônica Brasil)</title>
      <link>https://python.dev.br/empresas/vivo-telefonica-brasil/</link>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/empresas/vivo-telefonica-brasil/</guid>
      <description>&lt;p&gt;Vivo (Telefônica Brasil): Inovação em Telecomunicações com Python em São Paulo.&lt;/p&gt;&#xA;&lt;p&gt;A Vivo, gigante das telecomunicações no Brasil, com sede em São Paulo, busca desenvolvedores Python talentosos para construir o futuro da conectividade. Usamos Python no nosso backend e em diversas aplicações internas, impulsionando a inovação e a performance dos nossos serviços.&lt;/p&gt;&#xA;&lt;p&gt;Se você é um desenvolvedor Python buscando desafios em uma empresa líder, com um stack tecnológico moderno e impacto nacional, a Vivo é o seu lugar! Explore nossas oportunidades e venha fazer parte da transformação digital do Brasil.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Context Managers em Python: Dominando o with</title>
      <link>https://python.dev.br/blog/context-managers-python-with/</link>
      <pubDate>Fri, 27 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/context-managers-python-with/</guid>
      <description>&lt;p&gt;Esquecer de fechar um arquivo, não liberar uma conexão com o banco de dados, deixar um lock travado — esses são erros sutis que causam bugs difíceis de rastrear. Os &lt;strong&gt;context managers&lt;/strong&gt; do Python resolvem isso com elegância, garantindo que recursos sejam sempre liberados, mesmo quando ocorrem exceções.&lt;/p&gt;&#xA;&lt;h2 id=&#34;o-que-são-context-managers&#34;&gt;O Que São Context Managers&lt;/h2&gt;&#xA;&lt;p&gt;Um context manager é qualquer objeto que implementa os métodos &lt;code&gt;__enter__&lt;/code&gt; e &lt;code&gt;__exit__&lt;/code&gt;. Quando usado com a instrução &lt;code&gt;with&lt;/code&gt;, o Python garante que &lt;code&gt;__enter__&lt;/code&gt; é chamado no início do bloco e &lt;code&gt;__exit__&lt;/code&gt; é chamado ao final — sempre, mesmo se uma exceção ocorrer no meio.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Dataclasses em Python: Guia Completo com Exemplos Práticos</title>
      <link>https://python.dev.br/blog/dataclasses-python-guia-completo/</link>
      <pubDate>Fri, 27 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/dataclasses-python-guia-completo/</guid>
      <description>&lt;p&gt;Se você já criou classes em Python apenas para armazenar dados, sabe o quanto de código repetitivo isso envolve: &lt;code&gt;__init__&lt;/code&gt;, &lt;code&gt;__repr__&lt;/code&gt;, &lt;code&gt;__eq__&lt;/code&gt;&amp;hellip; tudo escrito manualmente. As &lt;strong&gt;dataclasses&lt;/strong&gt;, introduzidas no Python 3.7, resolvem exatamente esse problema, gerando automaticamente esses métodos a partir de simples anotações de tipo.&lt;/p&gt;&#xA;&lt;h2 id=&#34;o-que-são-dataclasses&#34;&gt;O Que São Dataclasses&lt;/h2&gt;&#xA;&lt;p&gt;Dataclasses são classes Python decoradas com &lt;code&gt;@dataclass&lt;/code&gt; que geram automaticamente métodos especiais como &lt;code&gt;__init__&lt;/code&gt;, &lt;code&gt;__repr__&lt;/code&gt;, &lt;code&gt;__eq__&lt;/code&gt; e outros. A ideia é simples: você declara os atributos com &lt;a href=&#34;https://python.dev.br/blog/tipagem-estatica-python-mypy/&#34;&gt;type hints&lt;/a&gt; e o Python cuida do resto.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Polars em Python: A Alternativa Rápida ao Pandas — 2026 | Python Brasil</title>
      <link>https://python.dev.br/blog/polars-alternativa-pandas-python/</link>
      <pubDate>Wed, 25 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/polars-alternativa-pandas-python/</guid>
      <description>&lt;p&gt;Se você trabalha com dados em Python, provavelmente já usa o &lt;a href=&#34;https://python.dev.br/blog/introducao-ao-pandas/&#34;&gt;Pandas&lt;/a&gt; no dia a dia. Ele é a biblioteca padrão para manipulação de DataFrames há mais de uma década. Mas nos últimos anos, uma alternativa vem ganhando espaço rapidamente: o &lt;strong&gt;Polars&lt;/strong&gt; — uma biblioteca de DataFrames escrita em Rust, projetada para ser extremamente rápida e eficiente em memória.&lt;/p&gt;&#xA;&lt;p&gt;Neste artigo, vamos explorar o que torna o Polars especial, comparar com o Pandas em benchmarks reais, e mostrar como começar a usá-lo nos seus projetos.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python e LLMs: Como Usar APIs de IA nos Seus Projetos — 2026 | Python Brasil</title>
      <link>https://python.dev.br/blog/python-e-llms-apis-inteligencia-artificial/</link>
      <pubDate>Wed, 25 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-e-llms-apis-inteligencia-artificial/</guid>
      <description>&lt;p&gt;Os Large Language Models (LLMs) transformaram o desenvolvimento de software nos últimos anos. Se antes integrar inteligência artificial em um projeto exigia conhecimento profundo de machine learning, hoje qualquer desenvolvedor Python consegue usar modelos como GPT, Claude e Gemini através de APIs simples e bem documentadas.&lt;/p&gt;&#xA;&lt;p&gt;Neste guia, vamos explorar como integrar as principais APIs de LLMs nos seus projetos Python, com exemplos práticos que você pode usar imediatamente.&lt;/p&gt;&#xA;&lt;h2 id=&#34;panorama-das-apis-de-llms-em-2026&#34;&gt;Panorama das APIs de LLMs em 2026&lt;/h2&gt;&#xA;&lt;p&gt;As três principais APIs de LLMs disponíveis para desenvolvedores são:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Geradores e Iteradores em Python</title>
      <link>https://python.dev.br/blog/geradores-iteradores-python/</link>
      <pubDate>Mon, 23 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/geradores-iteradores-python/</guid>
      <description>&lt;p&gt;Quando você percorre uma lista com um &lt;code&gt;for&lt;/code&gt; em Python, está usando o protocolo de iteração sem perceber. Por trás dos panos, Python chama métodos especiais para obter um elemento de cada vez. Entender como &lt;strong&gt;iteradores&lt;/strong&gt; e &lt;strong&gt;geradores&lt;/strong&gt; funcionam é essencial para escrever código eficiente, especialmente quando lidamos com grandes volumes de dados.&lt;/p&gt;&#xA;&lt;h2 id=&#34;o-que-são-iteradores&#34;&gt;O Que São Iteradores&lt;/h2&gt;&#xA;&lt;p&gt;Um iterador é qualquer objeto que implementa o &lt;strong&gt;protocolo de iteração&lt;/strong&gt;: os métodos &lt;code&gt;__iter__()&lt;/code&gt; e &lt;code&gt;__next__()&lt;/code&gt;. O método &lt;code&gt;__iter__&lt;/code&gt; retorna o próprio objeto iterador, e &lt;code&gt;__next__&lt;/code&gt; retorna o próximo elemento ou levanta &lt;code&gt;StopIteration&lt;/code&gt; quando não há mais elementos.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pydantic em Python: Validação de Dados</title>
      <link>https://python.dev.br/blog/pydantic-validacao-dados-python/</link>
      <pubDate>Mon, 23 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/pydantic-validacao-dados-python/</guid>
      <description>&lt;p&gt;Trabalhar com dados externos — APIs, formulários, arquivos JSON, bancos de dados — é uma das tarefas mais comuns no dia a dia de quem programa em Python. O problema é que dados externos são imprevisíveis: campos faltando, tipos errados, valores fora do esperado. É aí que o &lt;strong&gt;Pydantic&lt;/strong&gt; entra em cena, oferecendo validação e serialização de dados com uma API elegante e performática.&lt;/p&gt;&#xA;&lt;h2 id=&#34;o-que-é-pydantic-e-por-que-usar&#34;&gt;O Que É Pydantic e Por Que Usar&lt;/h2&gt;&#xA;&lt;p&gt;Pydantic é uma biblioteca Python para validação de dados usando type hints. Em vez de escrever dezenas de &lt;code&gt;if&lt;/code&gt; e &lt;code&gt;isinstance&lt;/code&gt; para verificar se seus dados estão corretos, você define um modelo com tipos e o Pydantic cuida de toda a validação automaticamente.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pattern Matching em Python: Guia Completo do match/case | Python Brasil</title>
      <link>https://python.dev.br/blog/pattern-matching-python-match-case/</link>
      <pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/pattern-matching-python-match-case/</guid>
      <description>&lt;p&gt;O &lt;strong&gt;Structural Pattern Matching&lt;/strong&gt; (correspondência de padrões estruturais) chegou ao Python na versão 3.10 e é uma das adições mais poderosas à linguagem nos últimos anos. Com a sintaxe &lt;code&gt;match/case&lt;/code&gt;, você pode escrever código mais expressivo, legível e robusto para lidar com dados complexos.&lt;/p&gt;&#xA;&lt;p&gt;Neste guia completo, vamos explorar tudo sobre pattern matching em Python: desde o básico até padrões avançados com guards, destructuring e classes.&lt;/p&gt;&#xA;&lt;h2 id=&#34;o-que-é-pattern-matching&#34;&gt;O que é Pattern Matching?&lt;/h2&gt;&#xA;&lt;p&gt;Pattern matching é uma técnica que permite comparar um valor contra uma série de padrões e executar código baseado no padrão que corresponder. Se você já programou em &lt;a href=&#34;https://rustlang.com.br/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34; onclick=&#34;umami.track(&#39;portfolio-site-click&#39;, { destination: &#39;rustlang.com.br&#39; })&#34;&gt;Rust&lt;/a&gt;, Scala ou Haskell, já conhece o conceito. Em Python, a sintaxe usa as palavras-chave &lt;code&gt;match&lt;/code&gt; e &lt;code&gt;case&lt;/code&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ruff: Linter e Formatador Mais Rápido para Python | Python Brasil</title>
      <link>https://python.dev.br/blog/ruff-linter-formatador-python/</link>
      <pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/ruff-linter-formatador-python/</guid>
      <description>&lt;p&gt;Se você trabalha com Python profissionalmente, já deve ter configurado uma combinação de &lt;strong&gt;flake8&lt;/strong&gt;, &lt;strong&gt;black&lt;/strong&gt;, &lt;strong&gt;isort&lt;/strong&gt; e talvez &lt;strong&gt;pylint&lt;/strong&gt; nos seus projetos. Cada ferramenta tem seu arquivo de configuração, suas dependências e seu tempo de execução. E se eu te dissesse que existe uma única ferramenta que substitui todas elas e roda &lt;strong&gt;10 a 100 vezes mais rápido&lt;/strong&gt;?&lt;/p&gt;&#xA;&lt;p&gt;Essa ferramenta é o &lt;strong&gt;Ruff&lt;/strong&gt; — um linter e formatador Python escrito em &lt;a href=&#34;https://rustlang.com.br/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34; onclick=&#34;umami.track(&#39;portfolio-site-click&#39;, { destination: &#39;rustlang.com.br&#39; })&#34;&gt;Rust&lt;/a&gt; que está revolucionando o ecossistema de qualidade de código Python. Neste artigo, vamos explorar tudo sobre o Ruff: instalação, configuração, migração e exemplos práticos.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python 3.13 Sem GIL: Modo Free-Threaded — 2026 | Python Brasil</title>
      <link>https://python.dev.br/blog/python-3-13-free-threaded-sem-gil/</link>
      <pubDate>Thu, 19 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-3-13-free-threaded-sem-gil/</guid>
      <description>&lt;p&gt;Uma das maiores mudanças na história recente do Python chegou com o Python 3.13: o &lt;strong&gt;modo free-threaded&lt;/strong&gt; (também chamado de &lt;strong&gt;no-GIL&lt;/strong&gt;). Pela primeira vez, é possível rodar Python sem o famigerado Global Interpreter Lock, permitindo que múltiplas threads executem código Python em paralelo de verdade.&lt;/p&gt;&#xA;&lt;p&gt;Neste artigo, vamos entender o que isso significa na prática, como habilitar o modo free-threaded, ver benchmarks comparativos e explorar o que muda para desenvolvedores Python no dia a dia.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Salarios Python no Brasil 2026: De R$3k a R$80k/mes</title>
      <link>https://python.dev.br/carreira/salarios-python-brasil/</link>
      <pubDate>Thu, 19 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/carreira/salarios-python-brasil/</guid>
      <description>&lt;h2 id=&#34;salarios-de-desenvolvedor-python-no-brasil-2026&#34;&gt;Salarios de Desenvolvedor Python no Brasil (2026)&lt;/h2&gt;&#xA;&lt;p&gt;Python e uma das linguagens de programacao mais valorizadas do mercado brasileiro em 2026. Com aplicacoes que vao desde desenvolvimento web ate inteligencia artificial, ciencia de dados e automacao, a demanda por profissionais Python so cresce — e os salarios acompanham essa tendencia.&lt;/p&gt;&#xA;&lt;p&gt;Neste guia completo, vamos apresentar dados atualizados sobre quanto ganha um desenvolvedor Python no Brasil, comparar com outras linguagens, mostrar oportunidades internacionais e dar dicas praticas para voce aumentar sua remuneracao.&lt;/p&gt;</description>
    </item>
    <item>
      <title>UV: O Gerenciador de Pacotes Python Mais Rápido — 2026 | Python Brasil</title>
      <link>https://python.dev.br/blog/uv-gerenciador-pacotes-python/</link>
      <pubDate>Thu, 19 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/uv-gerenciador-pacotes-python/</guid>
      <description>&lt;p&gt;Se você trabalha com Python, já sabe que gerenciar pacotes e ambientes virtuais pode ser uma dor de cabeça. O pip é lento, o Poetry às vezes trava em resoluções de dependência, e o Conda é pesado demais para projetos simples. É aí que entra o &lt;strong&gt;UV&lt;/strong&gt; — uma ferramenta criada pela &lt;a href=&#34;https://astral.sh/&#34;&gt;Astral&lt;/a&gt;, a mesma equipe por trás do Ruff, que está revolucionando o ecossistema Python.&lt;/p&gt;&#xA;&lt;p&gt;O UV é um gerenciador de pacotes e ambientes virtuais escrito em Rust, projetado para ser &lt;strong&gt;10 a 100 vezes mais rápido&lt;/strong&gt; que o pip. Neste artigo, vamos explorar tudo que você precisa saber para começar a usar o UV nos seus projetos.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Web Scraping com Python: Tutorial Completo</title>
      <link>https://python.dev.br/blog/web-scraping-python/</link>
      <pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/web-scraping-python/</guid>
      <description>&lt;p&gt;Web scraping é a técnica de extrair dados de páginas web automaticamente. Python é a linguagem mais popular para isso, graças a bibliotecas como &lt;strong&gt;requests&lt;/strong&gt; e &lt;strong&gt;BeautifulSoup&lt;/strong&gt;. Neste tutorial, você vai aprender desde o básico até projetos práticos completos.&lt;/p&gt;&#xA;&lt;h2 id=&#34;configuração-inicial&#34;&gt;Configuração Inicial&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Instalar as bibliotecas necessárias&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# pip install requests beautifulsoup4 lxml&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;requests&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;bs4&lt;/span&gt; &lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;BeautifulSoup&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;conceitos-básicos&#34;&gt;Conceitos Básicos&lt;/h2&gt;&#xA;&lt;h3 id=&#34;fazendo-requisições-http&#34;&gt;Fazendo Requisições HTTP&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;requests&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# GET simples&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;response&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;requests&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;get&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;https://httpbin.org/get&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Status: &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;response&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;status_code&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Tipo do conteúdo: &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;response&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;headers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;content-type&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Tamanho: &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;len&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;response&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;text&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; caracteres&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Com headers personalizados (boa prática!)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;headers&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;User-Agent&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Mozilla/5.0 (Windows NT 10.0; Win64; x64) &amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                  &lt;span class=&#34;s2&#34;&gt;&amp;#34;AppleWebKit/537.36 (KHTML, like Gecko) &amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                  &lt;span class=&#34;s2&#34;&gt;&amp;#34;Chrome/120.0.0.0 Safari/537.36&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;Accept-Language&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;pt-BR,pt;q=0.9,en;q=0.8&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;response&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;requests&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;get&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;https://httpbin.org/headers&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;headers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;headers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;response&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;json&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;())&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Com parâmetros de query&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;params&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;q&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;python&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;page&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;response&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;requests&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;get&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;https://httpbin.org/get&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;params&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;params&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;URL final: &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;response&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;url&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;entendendo-html&#34;&gt;Entendendo HTML&lt;/h3&gt;&#xA;&lt;p&gt;Antes de fazer scraping, é essencial entender a estrutura básica do HTML:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Boas Praticas Python para 2026</title>
      <link>https://python.dev.br/blog/boas-praticas-python-2026/</link>
      <pubDate>Thu, 12 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/boas-praticas-python-2026/</guid>
      <description>&lt;p&gt;O ecossistema Python evolui rapidamente, e as boas praticas de hoje refletem anos de aprendizado da comunidade. Com Python 3.13 estavel e o 3.14 no horizonte, temos novas ferramentas, padroes e abordagens que elevam a qualidade do codigo. Neste artigo, reunimos as praticas mais importantes que todo desenvolvedor Python deve adotar em 2026.&lt;/p&gt;&#xA;&lt;h2 id=&#34;use-tipagem-estatica-desde-o-inicio&#34;&gt;Use Tipagem Estatica Desde o Inicio&lt;/h2&gt;&#xA;&lt;p&gt;Tipagem estatica deixou de ser opcional em projetos profissionais. Com o amadurecimento do mypy, pyright e as melhorias nativas da linguagem, tipar seu codigo e tao natural quanto escrever docstrings:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Deploy de Aplicacao Python — 2026 | Python Brasil</title>
      <link>https://python.dev.br/blog/deploy-aplicacao-python/</link>
      <pubDate>Sun, 01 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/deploy-aplicacao-python/</guid>
      <description>&lt;p&gt;Desenvolver uma aplicacao e apenas metade do caminho. O deploy, ou seja, colocar a aplicacao em producao para que usuarios reais possam acessa-la, e uma etapa que muitos desenvolvedores acham desafiadora. Neste guia, a gente vai explorar tres opcoes populares para deploy de aplicacoes Python: Heroku, Railway e VPS, com configuracoes prontas para usar.&lt;/p&gt;&#xA;&lt;h2 id=&#34;preparando-a-aplicacao-para-deploy&#34;&gt;Preparando a Aplicacao para Deploy&lt;/h2&gt;&#xA;&lt;p&gt;Antes de qualquer deploy, sua aplicacao precisa estar pronta para producao:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Logging em Python — 2025 | Python Brasil</title>
      <link>https://python.dev.br/blog/logging-em-python/</link>
      <pubDate>Sun, 01 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/logging-em-python/</guid>
      <description>&lt;p&gt;O módulo &lt;code&gt;logging&lt;/code&gt; é uma das ferramentas mais subutilizadas por desenvolvedores Python iniciantes e intermediários. Enquanto &lt;code&gt;print()&lt;/code&gt; pode parecer suficiente durante o desenvolvimento, em produção ele é completamente inadequado. O logging profissional permite categorizar mensagens por severidade, direcionar logs para diferentes destinos, formatar saídas de maneira padronizada e desativar ou ativar mensagens sem alterar o código.&lt;/p&gt;&#xA;&lt;p&gt;Neste artigo, vamos explorar o módulo &lt;code&gt;logging&lt;/code&gt; do Python em profundidade, desde o uso básico até configurações avançadas para aplicações profissionais.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python e MQTT para IoT na Pratica</title>
      <link>https://python.dev.br/blog/python-e-mqtt-iot/</link>
      <pubDate>Sun, 01 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-e-mqtt-iot/</guid>
      <description>&lt;p&gt;A Internet das Coisas (IoT) esta transformando industrias inteiras, e o protocolo MQTT e o coracao da comunicacao entre dispositivos. Leve, eficiente e perfeito para conexoes instáveis, o MQTT combinado com Python cria um ecossistema poderoso para coletar, processar e visualizar dados de sensores. Neste artigo, vamos construir um sistema IoT completo.&lt;/p&gt;&#xA;&lt;h2 id=&#34;o-que-e-mqtt&#34;&gt;O Que e MQTT&lt;/h2&gt;&#xA;&lt;p&gt;MQTT (Message Queuing Telemetry Transport) e um protocolo de mensagens publish/subscribe projetado para dispositivos com recursos limitados. Ele funciona com tres componentes: o publisher (quem envia mensagens), o subscriber (quem recebe) e o broker (servidor que roteia as mensagens).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python Async/Await: Guia Completo</title>
      <link>https://python.dev.br/blog/python-async-await/</link>
      <pubDate>Fri, 20 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-async-await/</guid>
      <description>&lt;p&gt;Programação assíncrona é uma das habilidades mais valorizadas no mercado atual. Com &lt;code&gt;async/await&lt;/code&gt;, Python permite executar múltiplas operações de I/O simultaneamente sem usar threads. Neste guia, a gente vai entender os conceitos e aplicar na prática.&lt;/p&gt;&#xA;&lt;h2 id=&#34;o-problema-código-síncrono-lento&#34;&gt;O Problema: Código Síncrono Lento&lt;/h2&gt;&#xA;&lt;p&gt;Imagine que você precisa fazer 10 requisições HTTP. No modo síncrono, cada requisição espera a anterior terminar:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;requests&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;time&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;buscar_sincrono&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;urls&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&amp;#34;Busca URLs uma por uma (lento).&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;resultados&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;url&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;urls&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;response&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;requests&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;get&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;url&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;resultados&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;response&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;status_code&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;  &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;url&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; -&amp;gt; &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;response&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;status_code&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;resultados&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;urls&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;https://httpbin.org/delay/1&amp;#34;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;_&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;range&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;inicio&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;buscar_sincrono&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;urls&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;tempo&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;inicio&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;se&#34;&gt;\n&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;Síncrono: &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tempo&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;.2f&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; segundos (uma por vez)&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Resultado: ~5 segundos (1 segundo por requisição)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;a-solução-asyncawait&#34;&gt;A Solução: Async/Await&lt;/h2&gt;&#xA;&lt;p&gt;Com programação assíncrona, todas as requisições são feitas &amp;ldquo;ao mesmo tempo&amp;rdquo;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Multiprocessing em Python: Guia Pratico</title>
      <link>https://python.dev.br/blog/python-multiprocessing/</link>
      <pubDate>Wed, 18 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-multiprocessing/</guid>
      <description>&lt;p&gt;Python tem o famoso GIL (Global Interpreter Lock) que impede que multiplas threads executem bytecode Python simultaneamente. Para tarefas CPU-bound, a solucao e o multiprocessing, que cria processos separados, cada um com seu proprio interpretador e GIL. Neste guia, vamos explorar como usar multiprocessing para acelerar seus programas de forma significativa.&lt;/p&gt;&#xA;&lt;h2 id=&#34;entendendo-o-problema-gil-e-cpu-bound&#34;&gt;Entendendo o Problema: GIL e CPU-Bound&lt;/h2&gt;&#xA;&lt;p&gt;Antes de paralelizar, e importante entender quando o multiprocessing faz diferenca. Tarefas CPU-bound (calculos matematicos, processamento de dados, compressao) se beneficiam de multiplos processos. Tarefas I/O-bound (requisicoes HTTP, leitura de arquivos) se beneficiam mais de threading ou asyncio.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automação de E-mails com Python — 2025 | Python Brasil</title>
      <link>https://python.dev.br/blog/python-para-automacao-de-emails/</link>
      <pubDate>Thu, 05 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-para-automacao-de-emails/</guid>
      <description>&lt;p&gt;A automação de e-mails é uma das aplicações mais práticas de Python no ambiente corporativo. Enviar relatórios diários, notificações de sistema, confirmações de cadastro ou comunicações em massa são tarefas que, quando feitas manualmente, consomem tempo e estão sujeitas a erros. Com Python e o módulo &lt;code&gt;smtplib&lt;/code&gt; da biblioteca padrão, você pode automatizar tudo isso de forma confiável.&lt;/p&gt;&#xA;&lt;p&gt;Neste artigo, vamos aprender a enviar e-mails simples, com formatação HTML, com anexos e até em lote, seguindo boas práticas de segurança e organização.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automatizando Git com Python</title>
      <link>https://python.dev.br/blog/python-e-git-automacao/</link>
      <pubDate>Thu, 05 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-e-git-automacao/</guid>
      <description>&lt;p&gt;Git e a ferramenta de controle de versao mais utilizada no mundo, e Python pode automatizar praticamente qualquer fluxo de trabalho com ele. Desde gerar relatorios de commits ate criar hooks personalizados e gerenciar repositorios em massa, a combinacao de Python e Git e extremamente poderosa. Neste artigo, vamos explorar como automatizar Git usando GitPython e subprocess.&lt;/p&gt;&#xA;&lt;h2 id=&#34;instalando-o-gitpython&#34;&gt;Instalando o GitPython&lt;/h2&gt;&#xA;&lt;p&gt;O GitPython e a biblioteca mais popular para interagir com repositorios Git em Python:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Testes em Python com pytest: Guia Completo</title>
      <link>https://python.dev.br/blog/testes-unitarios-python/</link>
      <pubDate>Thu, 05 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/testes-unitarios-python/</guid>
      <description>&lt;p&gt;Testes automatizados são essenciais para garantir que seu código funciona corretamente e continua funcionando quando você faz mudanças. O &lt;strong&gt;pytest&lt;/strong&gt; é a ferramenta de testes mais popular em Python, e neste guia você vai aprender tudo que precisa para começar a testar seus projetos como um profissional.&lt;/p&gt;&#xA;&lt;h2 id=&#34;por-que-testar&#34;&gt;Por que Testar?&lt;/h2&gt;&#xA;&lt;p&gt;Se você já passou pela situação de corrigir um bug e criar outros três no processo, já sabe por que testes são importantes. Testes automatizados:&lt;/p&gt;</description>
    </item>
    <item>
      <title>WebSockets com Python — 2026 | Python Brasil</title>
      <link>https://python.dev.br/blog/python-e-websockets/</link>
      <pubDate>Thu, 05 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-e-websockets/</guid>
      <description>&lt;p&gt;WebSockets permitem comunicacao bidirecional em tempo real entre cliente e servidor. Diferente do HTTP tradicional, onde o cliente precisa fazer uma requisicao para receber dados, com WebSockets o servidor pode enviar mensagens a qualquer momento. Neste guia, a gente vai construir aplicacoes em tempo real com Python.&lt;/p&gt;&#xA;&lt;h2 id=&#34;como-websockets-funcionam&#34;&gt;Como WebSockets Funcionam&lt;/h2&gt;&#xA;&lt;p&gt;No protocolo HTTP normal, cada requisicao abre e fecha uma conexao. WebSockets estabelecem uma conexao persistente atraves de um handshake inicial HTTP, e depois manteem um canal aberto para troca de mensagens em ambas as direcoes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Dashboards Interativos com Streamlit</title>
      <link>https://python.dev.br/blog/criando-dashboards-com-streamlit/</link>
      <pubDate>Wed, 28 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/criando-dashboards-com-streamlit/</guid>
      <description>&lt;p&gt;Streamlit transformou a forma como desenvolvedores Python criam aplicacoes de dados. Em vez de aprender HTML, CSS e JavaScript, voce escreve apenas Python e o Streamlit gera uma interface web interativa automaticamente. Neste artigo, vamos construir dashboards profissionais do zero, cobrindo graficos, filtros, cache e deploy.&lt;/p&gt;&#xA;&lt;h2 id=&#34;instalacao-e-primeiro-dashboard&#34;&gt;Instalacao e Primeiro Dashboard&lt;/h2&gt;&#xA;&lt;p&gt;Instale o Streamlit e crie seu primeiro app:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install streamlit pandas plotly&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Crie um arquivo &lt;code&gt;app.py&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;streamlit&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;as&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;st&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;pandas&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;as&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;pd&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;st&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;set_page_config&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;page_title&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Dashboard de Vendas&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;layout&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;wide&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;st&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;title&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Dashboard de Vendas&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;st&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;markdown&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Analise completa das vendas da empresa&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Dados de exemplo&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;dados&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pd&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;DataFrame&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;Mes&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Jan&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Fev&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Mar&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Abr&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Mai&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Jun&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;s2&#34;&gt;&amp;#34;Jul&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Ago&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Set&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Out&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Nov&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Dez&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;Vendas&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;45000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;52000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;48000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;55000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;61000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;58000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;               &lt;span class=&#34;mi&#34;&gt;63000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;67000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;59000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;71000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;75000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;82000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;Meta&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;50000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;50000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;50000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;55000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;55000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;55000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;             &lt;span class=&#34;mi&#34;&gt;60000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;60000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;60000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;70000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;70000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;70000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;Clientes&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;120&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;135&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;128&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;142&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;156&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;149&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                 &lt;span class=&#34;mi&#34;&gt;163&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;171&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;155&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;180&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;192&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;205&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;})&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Metricas no topo&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;col1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;col2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;col3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;col4&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;st&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;columns&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;col1&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;metric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Vendas Totais&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;sa&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;R$ &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dados&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Vendas&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sum&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;,.0f&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;col2&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;metric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Media Mensal&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;sa&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;R$ &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dados&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Vendas&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mean&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;,.0f&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;col3&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;metric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Melhor Mes&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;sa&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;R$ &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dados&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Vendas&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;max&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;,.0f&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;col4&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;metric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Total Clientes&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;sa&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dados&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Clientes&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sum&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;st&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dataframe&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dados&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;use_container_width&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Execute com:&lt;/p&gt;</description>
    </item>
    <item>
      <title>pip vs Poetry vs Conda — 2025 | Python Brasil</title>
      <link>https://python.dev.br/blog/gerenciadores-de-pacotes-python/</link>
      <pubDate>Wed, 28 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/gerenciadores-de-pacotes-python/</guid>
      <description>&lt;p&gt;O gerenciamento de dependências é uma parte crucial de qualquer projeto Python. Instalar bibliotecas, controlar versões, resolver conflitos e garantir que o ambiente de desenvolvimento seja reproduzível são desafios que todo programador enfrenta. Python oferece diversas ferramentas para isso, sendo as três principais: pip (o padrão), Poetry (moderno e completo) e Conda (focado em ciência de dados).&lt;/p&gt;&#xA;&lt;p&gt;Neste artigo, vamos comparar essas três ferramentas em detalhes, mostrando os pontos fortes e fracos de cada uma para que você possa escolher a mais adequada para seus projetos.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python e Redis: Cache e Filas — 2026 | Python Brasil</title>
      <link>https://python.dev.br/blog/python-e-redis/</link>
      <pubDate>Wed, 28 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-e-redis/</guid>
      <description>&lt;p&gt;Redis e um dos bancos de dados em memoria mais usados no mundo. Ele funciona como cache, fila de mensagens, armazenamento de sessoes e muito mais. Com Python, a integracao e simples e poderosa usando a biblioteca &lt;code&gt;redis-py&lt;/code&gt;. Neste guia, a gente vai explorar os casos de uso mais comuns com exemplos praticos.&lt;/p&gt;&#xA;&lt;h2 id=&#34;instalacao-e-conexao&#34;&gt;Instalacao e Conexao&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install redis&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Para ter o Redis rodando localmente, use Docker:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run -d --name redis -p 6379:6379 redis:7-alpine&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Conectando com Python:&lt;/p&gt;</description>
    </item>
    <item>
      <title>APIs REST com FastAPI: Tutorial Completo</title>
      <link>https://python.dev.br/blog/apis-rest-com-fastapi/</link>
      <pubDate>Sun, 25 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/apis-rest-com-fastapi/</guid>
      <description>&lt;p&gt;FastAPI é o framework Python que mais cresce para criação de APIs. Ele combina &lt;strong&gt;alta performance&lt;/strong&gt;, &lt;strong&gt;documentação automática&lt;/strong&gt; e &lt;strong&gt;validação de dados nativa&lt;/strong&gt; — tudo isso mantendo a simplicidade que a gente espera de Python. Neste tutorial, você vai construir uma API REST completa do zero.&lt;/p&gt;&#xA;&lt;h2 id=&#34;por-que-fastapi&#34;&gt;Por que FastAPI?&lt;/h2&gt;&#xA;&lt;p&gt;Antes de colocar a mão na massa, veja por que FastAPI se destaca:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Performance&lt;/strong&gt;: Uma das mais rápidas em Python (baseado em Starlette e Uvicorn)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Documentação automática&lt;/strong&gt;: Swagger UI e ReDoc gerados automaticamente&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Validação&lt;/strong&gt;: Pydantic valida dados de entrada automaticamente&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Tipagem&lt;/strong&gt;: Usa type hints do Python para definir esquemas&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Async&lt;/strong&gt;: Suporte nativo a async/await&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Fácil de aprender&lt;/strong&gt;: Se você sabe Python, já sabe quase tudo&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;configuração-inicial&#34;&gt;Configuração Inicial&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Instalação&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# pip install fastapi uvicorn[standard]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Para rodar o servidor:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# uvicorn main:app --reload&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;hello-world-com-fastapi&#34;&gt;Hello World com FastAPI&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;fastapi&lt;/span&gt; &lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;FastAPI&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;app&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;FastAPI&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;title&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Minha API&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;description&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;API de exemplo com FastAPI&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;version&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;1.0.0&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nd&#34;&gt;@app.get&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;/&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;raiz&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;():&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;mensagem&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Olá, FastAPI!&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;status&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;online&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nd&#34;&gt;@app.get&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;/saudacao/&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{nome}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;saudacao&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;nome&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;mensagem&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;sa&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Olá, &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;nome&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;! Bem-vindo à nossa API.&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Acesse &lt;code&gt;http://localhost:8000/docs&lt;/code&gt; para ver a documentação interativa automática.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Machine Learning com Python — 2025 | Python Brasil</title>
      <link>https://python.dev.br/blog/python-e-machine-learning-iniciantes/</link>
      <pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-e-machine-learning-iniciantes/</guid>
      <description>&lt;p&gt;Machine Learning deixou de ser um tema exclusivo de pesquisadores e se tornou uma habilidade cada vez mais requisitada no mercado. Com Python e a biblioteca scikit-learn, voce consegue construir modelos de classificacao, regressao e agrupamento de forma acessivel. Neste guia, a gente vai explorar os conceitos fundamentais e construir modelos reais passo a passo.&lt;/p&gt;&#xA;&lt;h2 id=&#34;o-que-e-machine-learning&#34;&gt;O Que e Machine Learning?&lt;/h2&gt;&#xA;&lt;p&gt;Machine Learning e um ramo da inteligencia artificial onde algoritmos aprendem padroes a partir de dados, sem serem explicitamente programados para cada regra. Existem tres tipos principais: aprendizado supervisionado (com respostas conhecidas), nao-supervisionado (sem respostas) e por reforco (aprendizado por tentativa e erro).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python e AWS Lambda: Guia Serverless</title>
      <link>https://python.dev.br/blog/python-e-aws-lambda/</link>
      <pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-e-aws-lambda/</guid>
      <description>&lt;p&gt;AWS Lambda revolucionou a forma como construimos aplicacoes na nuvem. Em vez de gerenciar servidores, voce escreve funcoes que executam sob demanda, pagando apenas pelo tempo de execucao. Python e uma das linguagens mais populares no Lambda, e neste guia vamos explorar como criar, testar e fazer deploy de funcoes serverless de forma profissional.&lt;/p&gt;&#xA;&lt;h2 id=&#34;o-que-e-aws-lambda&#34;&gt;O Que e AWS Lambda&lt;/h2&gt;&#xA;&lt;p&gt;AWS Lambda e um servico de computacao serverless. Voce envia seu codigo, define um gatilho (HTTP, fila, agendamento) e a AWS cuida de toda a infraestrutura. Nao ha servidores para provisionar, escalar ou manter.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tratamento de Erros em Python — 2025 | Python Brasil</title>
      <link>https://python.dev.br/blog/tratamento-de-erros-python/</link>
      <pubDate>Sat, 10 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/tratamento-de-erros-python/</guid>
      <description>&lt;p&gt;Erros fazem parte do desenvolvimento de software. A diferença entre um programa amador e um profissional está em como esses erros são tratados. Python possui um sistema robusto de exceções que permite capturar, tratar e até criar seus próprios tipos de erro, garantindo que seu programa se comporte de maneira previsível mesmo em situações inesperadas.&lt;/p&gt;&#xA;&lt;p&gt;Neste artigo, vamos explorar desde o básico do try/except até técnicas avançadas como exceções personalizadas e padrões de tratamento de erros usados em projetos profissionais.&lt;/p&gt;</description>
    </item>
    <item>
      <title>POO em Python: Guia Prático Completo</title>
      <link>https://python.dev.br/blog/programacao-orientada-objetos-python/</link>
      <pubDate>Thu, 08 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/programacao-orientada-objetos-python/</guid>
      <description>&lt;p&gt;Programação Orientada a Objetos (POO) é um paradigma fundamental que todo desenvolvedor Python precisa dominar. Neste guia, a gente vai explorar cada conceito com exemplos práticos e realistas para você aplicar nos seus projetos.&lt;/p&gt;&#xA;&lt;h2 id=&#34;o-que-é-poo&#34;&gt;O que é POO?&lt;/h2&gt;&#xA;&lt;p&gt;POO é uma forma de organizar código em torno de &lt;strong&gt;objetos&lt;/strong&gt; — estruturas que combinam dados (atributos) e comportamentos (métodos). Em vez de pensar em sequências de instruções, você modela o mundo real em classes e objetos.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Processamento de Imagens com Python</title>
      <link>https://python.dev.br/blog/processamento-de-imagens-python/</link>
      <pubDate>Mon, 22 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/processamento-de-imagens-python/</guid>
      <description>&lt;p&gt;Processamento de imagens e uma habilidade valiosa para desenvolvedores Python. Desde redimensionar fotos para um site ate criar thumbnails em lote ou aplicar marcas dagua, a biblioteca Pillow oferece tudo o que voce precisa. Neste artigo, vamos explorar as operacoes mais uteis com exemplos praticos e prontos para usar.&lt;/p&gt;&#xA;&lt;h2 id=&#34;instalacao-e-conceitos-basicos&#34;&gt;Instalacao e Conceitos Basicos&lt;/h2&gt;&#xA;&lt;p&gt;Instale o Pillow, o fork mantido da classica PIL (Python Imaging Library):&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install Pillow&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;O Pillow trabalha com o conceito de objetos Image. Cada imagem tem modo (RGB, RGBA, L para escala de cinza), tamanho e pixels:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automatização com Python: Guia Prático</title>
      <link>https://python.dev.br/blog/automatizacao-com-python/</link>
      <pubDate>Wed, 10 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/automatizacao-com-python/</guid>
      <description>&lt;p&gt;Uma das maiores forças do Python é a capacidade de automatizar tarefas repetitivas. Se você passa tempo fazendo algo manual no computador, provavelmente dá para automatizar com Python. Neste guia prático, a gente vai explorar as formas mais comuns de automação com exemplos prontos para usar.&lt;/p&gt;&#xA;&lt;h2 id=&#34;manipulação-de-arquivos-e-pastas&#34;&gt;Manipulação de Arquivos e Pastas&lt;/h2&gt;&#xA;&lt;h3 id=&#34;organizando-arquivos-por-extensão&#34;&gt;Organizando arquivos por extensão&lt;/h3&gt;&#xA;&lt;p&gt;Um dos scripts mais úteis do dia a dia: organizar aquela pasta de downloads bagunçada.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Design Patterns em Python na Pratica</title>
      <link>https://python.dev.br/blog/design-patterns-python/</link>
      <pubDate>Mon, 08 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/design-patterns-python/</guid>
      <description>&lt;p&gt;Design patterns sao solucoes testadas e comprovadas para problemas recorrentes no desenvolvimento de software. Em Python, muitos desses padroes podem ser implementados de forma elegante gracas aos recursos dinamicos da linguagem. Neste artigo, vamos explorar os padroes mais uteis com implementacoes praticas e pythonicas.&lt;/p&gt;&#xA;&lt;h2 id=&#34;o-que-sao-design-patterns&#34;&gt;O Que Sao Design Patterns&lt;/h2&gt;&#xA;&lt;p&gt;Padroes de projeto nao sao codigo pronto para copiar e colar. Sao modelos conceituais que descrevem como resolver determinados tipos de problemas. Eles se dividem em tres categorias: criacionais (como criar objetos), estruturais (como compor objetos) e comportamentais (como objetos interagem).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Seguranca em Aplicacoes Python — 2025 | Python Brasil</title>
      <link>https://python.dev.br/blog/seguranca-em-aplicacoes-python/</link>
      <pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/seguranca-em-aplicacoes-python/</guid>
      <description>&lt;p&gt;Seguranca e um aspecto critico no desenvolvimento de software, e Python nao e excecao. Aplicacoes mal protegidas podem expor dados sensiveis, permitir acesso nao autorizado e comprometer servidores inteiros. Neste guia, a gente vai explorar as vulnerabilidades mais comuns e como preveni-las em projetos Python.&lt;/p&gt;&#xA;&lt;h2 id=&#34;sql-injection&#34;&gt;SQL Injection&lt;/h2&gt;&#xA;&lt;p&gt;SQL injection acontece quando dados do usuario sao inseridos diretamente em queries SQL. E uma das vulnerabilidades mais antigas e perigosas.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# ERRADO: vulneravel a SQL injection&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;buscar_usuario_inseguro&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;cursor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;nome_usuario&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;query&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;sa&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;SELECT * FROM usuarios WHERE nome = &amp;#39;&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;nome_usuario&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#39;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;cursor&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;execute&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;query&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cursor&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;fetchone&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# Se o usuario digitar: &amp;#39; OR &amp;#39;1&amp;#39;=&amp;#39;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# A query vira: SELECT * FROM usuarios WHERE nome = &amp;#39;&amp;#39; OR &amp;#39;1&amp;#39;=&amp;#39;1&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# CORRETO: usando parametros&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;buscar_usuario_seguro&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;cursor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;nome_usuario&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;query&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;SELECT * FROM usuarios WHERE nome = &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;%s&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;cursor&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;execute&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;query&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;nome_usuario&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,))&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cursor&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;fetchone&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Com ORMs como SQLAlchemy, a protecao ja e automatica:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python e SQLite — 2025 | Python Brasil</title>
      <link>https://python.dev.br/blog/python-e-banco-de-dados-sqlite/</link>
      <pubDate>Mon, 01 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-e-banco-de-dados-sqlite/</guid>
      <description>&lt;p&gt;SQLite é um banco de dados leve, embutido e que não requer um servidor separado para funcionar. Ele armazena todo o banco em um único arquivo, tornando-o perfeito para aplicações desktop, protótipos, projetos pequenos e médios, e até mesmo para testes de aplicações que em produção usarão bancos maiores como PostgreSQL ou MySQL.&lt;/p&gt;&#xA;&lt;p&gt;O Python traz o módulo &lt;code&gt;sqlite3&lt;/code&gt; na biblioteca padrão, o que significa que você pode começar a trabalhar com banco de dados sem instalar nada adicional. Neste artigo, vamos cobrir todas as operações fundamentais com exemplos práticos.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Criando API GraphQL com Python — 2025 | Python Brasil</title>
      <link>https://python.dev.br/blog/criando-api-graphql-python/</link>
      <pubDate>Sat, 22 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/criando-api-graphql-python/</guid>
      <description>&lt;p&gt;GraphQL e uma linguagem de consulta para APIs que permite ao cliente solicitar exatamente os dados que precisa. Diferente de REST, onde cada endpoint retorna uma estrutura fixa, GraphQL oferece flexibilidade total nas consultas. Neste guia, a gente vai construir uma API GraphQL completa com Python usando Strawberry e FastAPI.&lt;/p&gt;&#xA;&lt;h2 id=&#34;por-que-graphql&#34;&gt;Por Que GraphQL?&lt;/h2&gt;&#xA;&lt;p&gt;Em APIs REST tradicionais, dois problemas sao comuns: overfetching (receber dados demais) e underfetching (precisar de multiplas requisicoes). GraphQL resolve ambos com uma unica requisicao flexivel.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python para Ciência de Dados em 2026</title>
      <link>https://python.dev.br/blog/python-para-ciencia-de-dados/</link>
      <pubDate>Sat, 15 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-para-ciencia-de-dados/</guid>
      <description>&lt;p&gt;Python se consolidou como a linguagem padrão para ciência de dados, e em 2026 essa posição está mais forte do que nunca. Neste guia, você vai aprender a usar as quatro bibliotecas fundamentais do ecossistema de dados: &lt;strong&gt;NumPy, Pandas, Matplotlib e scikit-learn&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;configurando-o-ambiente&#34;&gt;Configurando o Ambiente&lt;/h2&gt;&#xA;&lt;p&gt;Antes de começar, vamos preparar o ambiente de desenvolvimento:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Instale as bibliotecas necessárias:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# pip install numpy pandas matplotlib scikit-learn jupyter&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Ou usando conda:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# conda install numpy pandas matplotlib scikit-learn jupyter&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;numpy-a-base-de-tudo&#34;&gt;NumPy: A Base de Tudo&lt;/h2&gt;&#xA;&lt;p&gt;NumPy é a biblioteca fundamental para computação numérica em Python. Todas as outras bibliotecas de dados são construídas sobre ela.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Criando Bots Telegram Python — 2025 | Python Brasil</title>
      <link>https://python.dev.br/blog/criando-bots-telegram-python/</link>
      <pubDate>Fri, 14 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/criando-bots-telegram-python/</guid>
      <description>&lt;p&gt;Bots de Telegram são programas automatizados que interagem com usuários dentro da plataforma. Eles podem responder mensagens, enviar notificações, processar comandos e até integrar serviços externos. Com a biblioteca python-telegram-bot, criar um bot funcional em Python é surpreendentemente simples.&lt;/p&gt;&#xA;&lt;p&gt;Neste artigo, vamos percorrer todo o caminho: desde o registro do bot no Telegram até a implementação de funcionalidades avançadas como teclados interativos e tratamento de conversas.&lt;/p&gt;&#xA;&lt;h2 id=&#34;criando-o-bot-no-botfather&#34;&gt;Criando o bot no BotFather&lt;/h2&gt;&#xA;&lt;p&gt;O primeiro passo é registrar seu bot junto ao BotFather, o bot oficial do Telegram que gerencia a criação de outros bots.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python e Excel com OpenPyXL</title>
      <link>https://python.dev.br/blog/python-e-excel-openpyxl/</link>
      <pubDate>Wed, 12 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-e-excel-openpyxl/</guid>
      <description>&lt;p&gt;Manipular planilhas Excel e uma das tarefas mais comuns no dia a dia de profissionais que trabalham com dados. Com Python e a biblioteca OpenPyXL, voce pode automatizar a criacao de relatorios, processar grandes volumes de dados e gerar planilhas formatadas profissionalmente. Neste artigo, vamos explorar desde operacoes basicas ate tecnicas avancadas.&lt;/p&gt;&#xA;&lt;h2 id=&#34;instalacao-e-primeiros-passos&#34;&gt;Instalacao e Primeiros Passos&lt;/h2&gt;&#xA;&lt;p&gt;Instale o OpenPyXL com pip:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install openpyxl&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Vamos comecar criando uma planilha simples:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python e Docker: Guia Completo — 2025 | Python Brasil</title>
      <link>https://python.dev.br/blog/python-e-docker/</link>
      <pubDate>Sat, 08 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-e-docker/</guid>
      <description>&lt;p&gt;Docker — que é escrito em &lt;a href=&#34;https://golang.com.br/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34; onclick=&#34;umami.track(&#39;portfolio-site-click&#39;, { destination: &#39;golang.com.br&#39; })&#34;&gt;Go&lt;/a&gt; — revolucionou a forma como empacotamos e distribuimos aplicacoes. Com containers, voce garante que o ambiente de desenvolvimento e identico ao de producao, eliminando o classico &amp;ldquo;na minha maquina funciona&amp;rdquo;. Neste guia, a gente vai aprender a containerizar aplicacoes Python do zero, com exemplos otimizados para producao.&lt;/p&gt;&#xA;&lt;h2 id=&#34;por-que-usar-docker-com-python&#34;&gt;Por Que Usar Docker com Python?&lt;/h2&gt;&#xA;&lt;p&gt;Projetos Python frequentemente dependem de versoes especificas do interpretador, bibliotecas nativas e configuracoes de ambiente. Docker resolve todos esses problemas encapsulando a aplicacao e suas dependencias em um container isolado e reproduzivel.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introdução ao Matplotlib — 2025 | Python Brasil</title>
      <link>https://python.dev.br/blog/introducao-ao-matplotlib/</link>
      <pubDate>Wed, 22 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/introducao-ao-matplotlib/</guid>
      <description>&lt;p&gt;A visualização de dados é uma etapa fundamental em qualquer análise. Números em tabelas podem ser difíceis de interpretar, mas um gráfico bem feito comunica padrões, tendências e anomalias de forma imediata. Matplotlib é a biblioteca de visualização mais consolidada do ecossistema Python, servindo como base para outras bibliotecas como Seaborn e sendo integrada ao Pandas.&lt;/p&gt;&#xA;&lt;p&gt;Neste artigo, vamos aprender a criar os tipos de gráfico mais utilizados no dia a dia, personalizar a aparência visual e exportar figuras prontas para relatórios e apresentações.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Criando CLI com Python — 2025 | Python Brasil</title>
      <link>https://python.dev.br/blog/criando-cli-com-python/</link>
      <pubDate>Sun, 12 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/criando-cli-com-python/</guid>
      <description>&lt;p&gt;Ferramentas de linha de comando sao parte essencial do dia a dia de qualquer desenvolvedor. Python oferece otimas opcoes para criar CLIs profissionais, desde o &lt;code&gt;argparse&lt;/code&gt; da biblioteca padrao ate o &lt;code&gt;Click&lt;/code&gt;, uma biblioteca externa muito popular. Neste artigo, a gente vai explorar as duas abordagens com exemplos praticos.&lt;/p&gt;&#xA;&lt;h2 id=&#34;por-que-criar-clis-com-python&#34;&gt;Por Que Criar CLIs com Python?&lt;/h2&gt;&#xA;&lt;p&gt;CLIs sao ideais para automacao, scripts de deploy, ferramentas de desenvolvimento e processamento de dados. Python e perfeito para isso porque tem excelente suporte a manipulacao de strings, acesso ao sistema operacional e uma vasta colecao de bibliotecas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Criando Jogos com Pygame em Python</title>
      <link>https://python.dev.br/blog/criando-jogos-com-pygame/</link>
      <pubDate>Sun, 05 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/criando-jogos-com-pygame/</guid>
      <description>&lt;p&gt;Desenvolver jogos e uma das formas mais divertidas de aprender programacao. O Pygame e a biblioteca mais popular para criacao de jogos 2D em Python, oferecendo controle sobre graficos, sons, entrada do teclado e muito mais. Neste tutorial, vamos construir um jogo completo do zero.&lt;/p&gt;&#xA;&lt;h2 id=&#34;instalacao-e-estrutura-basica&#34;&gt;Instalacao e Estrutura Basica&lt;/h2&gt;&#xA;&lt;p&gt;Instale o Pygame com pip:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install pygame&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Todo jogo em Pygame segue uma estrutura basica: inicializacao, loop principal e finalizacao.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Django vs Flask: Qual Framework Escolher?</title>
      <link>https://python.dev.br/blog/django-vs-flask/</link>
      <pubDate>Sun, 05 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/django-vs-flask/</guid>
      <description>&lt;p&gt;Na hora de construir uma aplicação web com Python, dois nomes dominam a conversa: &lt;strong&gt;Django&lt;/strong&gt; e &lt;strong&gt;Flask&lt;/strong&gt;. Ambos são excelentes, mas servem para situações diferentes. Neste artigo, a gente vai comparar os dois frameworks de forma prática, com código e recomendações claras.&lt;/p&gt;&#xA;&lt;h2 id=&#34;visão-geral&#34;&gt;Visão Geral&lt;/h2&gt;&#xA;&lt;h3 id=&#34;django-batteries-included&#34;&gt;Django: &amp;ldquo;Batteries Included&amp;rdquo;&lt;/h3&gt;&#xA;&lt;p&gt;Django é um framework &lt;strong&gt;full-stack&lt;/strong&gt; que vem com tudo que você precisa para construir uma aplicação web robusta: ORM, sistema de templates, admin, autenticação, migrations e muito mais. A filosofia é &amp;ldquo;batteries included&amp;rdquo; — ou seja, tudo vem pronto para usar.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introdução ao Pandas Python — 2025 | Python Brasil</title>
      <link>https://python.dev.br/blog/introducao-ao-pandas/</link>
      <pubDate>Fri, 03 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/introducao-ao-pandas/</guid>
      <description>&lt;p&gt;Pandas é a biblioteca mais popular para análise e manipulação de dados em Python. Criada por Wes McKinney em 2008, tornou-se ferramenta indispensável para cientistas de dados, analistas e engenheiros de dados ao redor do mundo. Com Pandas, é possível carregar, limpar, transformar e analisar grandes volumes de dados com apenas algumas linhas de código.&lt;/p&gt;&#xA;&lt;p&gt;Neste artigo, vamos explorar os fundamentos do Pandas, desde a criação de DataFrames até operações avançadas de agrupamento e análise estatística.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python e MongoDB com PyMongo — 2025 | Python Brasil</title>
      <link>https://python.dev.br/blog/python-e-mongodb/</link>
      <pubDate>Sat, 20 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-e-mongodb/</guid>
      <description>&lt;p&gt;MongoDB e o banco de dados NoSQL mais popular do mercado, e Python e uma das linguagens que melhor se integra com ele. Usando PyMongo, a biblioteca oficial, voce consegue fazer operacoes de CRUD, queries complexas e agregacoes de forma intuitiva. Neste guia, a gente vai montar tudo do zero com exemplos praticos.&lt;/p&gt;&#xA;&lt;h2 id=&#34;instalacao-e-conexao&#34;&gt;Instalacao e Conexao&lt;/h2&gt;&#xA;&lt;p&gt;Primeiro, instale o PyMongo via pip:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install pymongo&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Para conectar ao MongoDB, use o &lt;code&gt;MongoClient&lt;/code&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ambientes Virtuais Python: venv e Poetry</title>
      <link>https://python.dev.br/blog/virtual-environments-python/</link>
      <pubDate>Fri, 12 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/virtual-environments-python/</guid>
      <description>&lt;p&gt;Se você já teve problemas com versões conflitantes de bibliotecas em Python, sabe a dor de cabeça que isso causa. &lt;strong&gt;Ambientes virtuais&lt;/strong&gt; resolvem esse problema isolando as dependências de cada projeto. Neste guia, a gente vai explorar as três ferramentas mais populares: &lt;strong&gt;venv&lt;/strong&gt;, &lt;strong&gt;virtualenv&lt;/strong&gt; e &lt;strong&gt;Poetry&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;por-que-usar-ambientes-virtuais&#34;&gt;Por que Usar Ambientes Virtuais?&lt;/h2&gt;&#xA;&lt;p&gt;Sem ambientes virtuais, todas as bibliotecas são instaladas globalmente no sistema. Isso causa problemas quando:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;O &lt;strong&gt;Projeto A&lt;/strong&gt; precisa de Django 4.2 e o &lt;strong&gt;Projeto B&lt;/strong&gt; precisa de Django 5.0&lt;/li&gt;&#xA;&lt;li&gt;Uma atualização de biblioteca quebra outro projeto&lt;/li&gt;&#xA;&lt;li&gt;Você não sabe quais dependências seu projeto realmente precisa&lt;/li&gt;&#xA;&lt;li&gt;Você precisa reproduzir o ambiente em outra máquina ou no servidor&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Exemplo do problema (sem ambiente virtual):&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# pip install django==4.2  &amp;lt;- Projeto A precisa dessa versão&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# pip install django==5.0  &amp;lt;- Projeto B sobrescreve! Projeto A quebra!&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Com ambientes virtuais, cada projeto tem suas próprias dependências&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# isoladas, sem interferir um no outro.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;venv-o-padrão-do-python&#34;&gt;venv: O Padrão do Python&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;venv&lt;/code&gt; já vem incluído no Python 3.3+ e é a forma mais simples de criar ambientes virtuais.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python e PostgreSQL: Guia Completo</title>
      <link>https://python.dev.br/blog/python-e-postgresql/</link>
      <pubDate>Wed, 10 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-e-postgresql/</guid>
      <description>&lt;p&gt;PostgreSQL e um dos bancos de dados relacionais mais robustos e populares do mundo, e Python oferece ferramentas excelentes para trabalhar com ele. Neste guia, vamos desde a conexao basica com psycopg2 ate o uso avancado do SQLAlchemy como ORM completo.&lt;/p&gt;&#xA;&lt;h2 id=&#34;configurando-o-ambiente&#34;&gt;Configurando o Ambiente&lt;/h2&gt;&#xA;&lt;p&gt;Antes de comecar, instale as dependencias necessarias:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install psycopg2-binary sqlalchemy alembic&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;O pacote &lt;code&gt;psycopg2-binary&lt;/code&gt; e a versao pre-compilada do driver PostgreSQL para Python. Para producao, recomenda-se usar &lt;code&gt;psycopg2&lt;/code&gt; com as bibliotecas do sistema instaladas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automação de Planilhas Python — 2025 | Python Brasil</title>
      <link>https://python.dev.br/blog/python-para-automacao-de-planilhas/</link>
      <pubDate>Fri, 05 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-para-automacao-de-planilhas/</guid>
      <description>&lt;p&gt;A automação de planilhas é uma das aplicações mais práticas e imediatas de Python no ambiente corporativo. Profissionais de todas as áreas passam horas por semana criando relatórios, consolidando dados e formatando planilhas manualmente. Com a biblioteca openpyxl, é possível automatizar todas essas tarefas, economizando tempo e reduzindo erros.&lt;/p&gt;&#xA;&lt;p&gt;Neste artigo, vamos aprender a criar, ler, modificar e formatar planilhas Excel usando Python, com exemplos que você pode aplicar diretamente no seu trabalho.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Consumindo APIs REST com Python — 2025 | Python Brasil</title>
      <link>https://python.dev.br/blog/python-e-apis-consumindo-dados/</link>
      <pubDate>Thu, 28 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-e-apis-consumindo-dados/</guid>
      <description>&lt;p&gt;APIs REST (Representational State Transfer) são a principal forma de comunicação entre sistemas na web moderna. Desde consultar a previsão do tempo até integrar sistemas de pagamento, consumir APIs é uma habilidade essencial para qualquer desenvolvedor Python. A biblioteca &lt;code&gt;requests&lt;/code&gt; torna esse trabalho simples e intuitivo.&lt;/p&gt;&#xA;&lt;p&gt;Neste artigo, vamos aprender a fazer requisições HTTP, trabalhar com autenticação, tratar erros de rede e construir integrações robustas com APIs externas.&lt;/p&gt;&#xA;&lt;h2 id=&#34;instalação-e-primeira-requisição&#34;&gt;Instalação e primeira requisição&lt;/h2&gt;&#xA;&lt;p&gt;A biblioteca &lt;code&gt;requests&lt;/code&gt; é o padrão da comunidade Python para requisições HTTP:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automacao Web com Selenium e Python — 2025 | Python Brasil</title>
      <link>https://python.dev.br/blog/python-e-selenium-automacao-web/</link>
      <pubDate>Mon, 25 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-e-selenium-automacao-web/</guid>
      <description>&lt;p&gt;Selenium e a ferramenta mais popular para automacao de navegadores web. Com Python e Selenium, voce pode automatizar testes, preencher formularios, extrair dados de sites dinamicos e muito mais. Neste guia, a gente vai aprender desde a configuracao ate tecnicas avancadas de automacao.&lt;/p&gt;&#xA;&lt;h2 id=&#34;instalacao-e-configuracao&#34;&gt;Instalacao e Configuracao&lt;/h2&gt;&#xA;&lt;p&gt;Instale o Selenium e o gerenciador de drivers:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install selenium webdriver-manager&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;O &lt;code&gt;webdriver-manager&lt;/code&gt; baixa automaticamente o driver correto para o seu navegador, eliminando a necessidade de configuracao manual.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Estruturas de Dados em Python: Guia Completo</title>
      <link>https://python.dev.br/blog/estruturas-de-dados-python/</link>
      <pubDate>Mon, 25 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/estruturas-de-dados-python/</guid>
      <description>&lt;p&gt;Dominar as estruturas de dados nativas do Python é essencial para escrever código eficiente e elegante. Neste guia, você vai aprender tudo sobre as quatro estruturas fundamentais — &lt;strong&gt;listas, tuplas, dicionários e conjuntos&lt;/strong&gt; — com exemplos práticos e dicas de performance.&lt;/p&gt;&#xA;&lt;h2 id=&#34;listas&#34;&gt;Listas&lt;/h2&gt;&#xA;&lt;p&gt;Listas são a estrutura de dados mais versátil do Python. Elas são &lt;strong&gt;ordenadas, mutáveis&lt;/strong&gt; e permitem elementos duplicados.&lt;/p&gt;&#xA;&lt;h3 id=&#34;criando-listas&#34;&gt;Criando listas&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Criando listas de diferentes formas&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;frutas&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;maçã&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;banana&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;laranja&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;uva&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;numeros&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;misturada&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;texto&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;3.14&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;None&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;vazia&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Usando o construtor list()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;letras&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;list&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Python&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# [&amp;#39;P&amp;#39;, &amp;#39;y&amp;#39;, &amp;#39;t&amp;#39;, &amp;#39;h&amp;#39;, &amp;#39;o&amp;#39;, &amp;#39;n&amp;#39;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# List comprehension&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;quadrados&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;**&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;range&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;quadrados&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;operações-com-listas&#34;&gt;Operações com listas&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;frutas&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;maçã&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;banana&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;laranja&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Adicionar elementos&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;frutas&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;uva&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;              &lt;span class=&#34;c1&#34;&gt;# Adiciona no final&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;frutas&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;insert&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;morango&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;       &lt;span class=&#34;c1&#34;&gt;# Adiciona na posição 1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;frutas&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;extend&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;([&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;kiwi&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;manga&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# Adiciona múltiplos elementos&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;frutas&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# [&amp;#39;maçã&amp;#39;, &amp;#39;morango&amp;#39;, &amp;#39;banana&amp;#39;, &amp;#39;laranja&amp;#39;, &amp;#39;uva&amp;#39;, &amp;#39;kiwi&amp;#39;, &amp;#39;manga&amp;#39;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Remover elementos&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;frutas&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;remove&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;banana&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;# Remove pela valor&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;ultimo&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;frutas&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pop&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;      &lt;span class=&#34;c1&#34;&gt;# Remove e retorna o último&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;primeiro&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;frutas&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pop&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;# Remove e retorna pela posição&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Buscar e contar&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;indice&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;frutas&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;index&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;laranja&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# Retorna o índice&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;quantidade&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;frutas&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;count&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;uva&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# Conta ocorrências&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;existe&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;kiwi&amp;#34;&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;frutas&lt;/span&gt;          &lt;span class=&#34;c1&#34;&gt;# Verifica se existe (True/False)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;fatiamento-slicing&#34;&gt;Fatiamento (Slicing)&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;numeros&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;6&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;8&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;9&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# lista[início:fim:passo]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;numeros&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;# [2, 3, 4]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;numeros&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt;      &lt;span class=&#34;c1&#34;&gt;# [0, 1, 2]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;numeros&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;7&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:])&lt;/span&gt;      &lt;span class=&#34;c1&#34;&gt;# [7, 8, 9]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;numeros&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[::&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;# [0, 2, 4, 6, 8] (passo 2)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;numeros&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[::&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;# [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] (invertido)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Copiar uma lista (cópia superficial)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;copia&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;numeros&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[:]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# ou&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;copia&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;numeros&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;copy&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;ordenação&#34;&gt;Ordenação&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;notas&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;8.5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;9.2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;7.0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;6.8&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;9.8&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;7.5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Ordenar in-place (modifica a lista original)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;notas&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sort&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;notas&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# [6.8, 7.0, 7.5, 8.5, 9.2, 9.8]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;notas&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sort&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;reverse&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;notas&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# [9.8, 9.2, 8.5, 7.5, 7.0, 6.8]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Ordenar sem modificar (retorna nova lista)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;alunos&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;nome&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Ana&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;nota&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;8.5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;nome&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Carlos&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;nota&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;9.2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;nome&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Beatriz&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;nota&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;7.8&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;ranking&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;sorted&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;alunos&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;key&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;lambda&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;nota&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;reverse&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;aluno&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;enumerate&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ranking&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;º lugar: &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;aluno&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;nome&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; - Nota: &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;aluno&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;nota&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;list-comprehensions-avançadas&#34;&gt;List Comprehensions avançadas&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Filtrar e transformar&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;numeros&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;range&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;21&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Números pares elevados ao cubo&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;pares_cubo&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;n&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;**&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;n&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;numeros&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;n&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;%&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pares_cubo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# [8, 64, 216, 512, 1000, ...]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Comprehension com condição ternária&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;classificacao&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;par&amp;#34;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;n&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;%&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;else&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;ímpar&amp;#34;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;n&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;range&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;6&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;classificacao&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# [&amp;#39;ímpar&amp;#39;, &amp;#39;par&amp;#39;, &amp;#39;ímpar&amp;#39;, &amp;#39;par&amp;#39;, &amp;#39;ímpar&amp;#39;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Comprehension aninhada (achatar matriz)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;matriz&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;6&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;7&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;8&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;9&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;achatada&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;num&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;linha&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;matriz&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;num&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;linha&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;achatada&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# [1, 2, 3, 4, 5, 6, 7, 8, 9]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;tuplas&#34;&gt;Tuplas&lt;/h2&gt;&#xA;&lt;p&gt;Tuplas são parecidas com listas, mas são &lt;strong&gt;imutáveis&lt;/strong&gt; — uma vez criadas, não podem ser alteradas. Isso as torna mais seguras e um pouco mais rápidas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tipagem Estatica em Python com Mypy</title>
      <link>https://python.dev.br/blog/tipagem-estatica-python-mypy/</link>
      <pubDate>Fri, 15 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/tipagem-estatica-python-mypy/</guid>
      <description>&lt;p&gt;Python sempre foi uma linguagem de tipagem dinamica, mas desde a versao 3.5, com a PEP 484, passou a suportar type hints. Combinados com ferramentas como o mypy, esses hints transformam a experiencia de desenvolvimento, detectando erros antes mesmo de executar o codigo. Neste artigo, vamos explorar como usar tipagem estatica em Python de forma pratica e eficiente.&lt;/p&gt;&#xA;&lt;h2 id=&#34;o-que-sao-type-hints&#34;&gt;O Que Sao Type Hints&lt;/h2&gt;&#xA;&lt;p&gt;Type hints sao anotacoes que indicam os tipos esperados de variaveis, parametros e retornos de funcoes. Eles nao alteram o comportamento do programa em tempo de execucao, mas servem como documentacao viva e permitem a analise estatica.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Expressões Regulares em Python — 2025 | Python Brasil</title>
      <link>https://python.dev.br/blog/expressoes-regulares-python/</link>
      <pubDate>Tue, 12 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/expressoes-regulares-python/</guid>
      <description>&lt;p&gt;Expressões regulares (regex) são sequências de caracteres que definem padrões de busca em textos. Elas são uma ferramenta indispensável para qualquer programador que precise validar entradas, extrair informações ou transformar strings de maneira eficiente. Em Python, o módulo &lt;code&gt;re&lt;/code&gt; da biblioteca padrão oferece suporte completo a expressões regulares.&lt;/p&gt;&#xA;&lt;p&gt;Apesar da fama de serem difíceis de aprender, as expressões regulares seguem uma lógica consistente. Neste artigo, vamos desmistificar o assunto e mostrar como usar regex em situações práticas do dia a dia.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Compreensao de Listas em Python — 2025 | Python Brasil</title>
      <link>https://python.dev.br/blog/compreensao-de-listas-python/</link>
      <pubDate>Sun, 10 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/compreensao-de-listas-python/</guid>
      <description>&lt;p&gt;Compreensao de listas, ou list comprehensions, e uma das construcoes mais pythonic da linguagem. Elas permitem criar listas de forma concisa e legivel, substituindo loops tradicionais por expressoes compactas. Neste artigo, a gente vai explorar desde o basico ate tecnicas avancadas com exemplos praticos.&lt;/p&gt;&#xA;&lt;h2 id=&#34;sintaxe-basica&#34;&gt;Sintaxe Basica&lt;/h2&gt;&#xA;&lt;p&gt;A estrutura de uma list comprehension segue este padrao:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;nova_lista&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;expressao&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;item&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;iteravel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Vamos comparar com um loop tradicional:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Loop tradicional&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;quadrados&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;n&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;range&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;quadrados&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;n&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;**&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Com list comprehension&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;quadrados&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;n&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;**&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;n&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;range&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;quadrados&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;O resultado e identico, mas a comprehension e mais curta e expressa a intencao de forma direta: estamos criando uma lista de quadrados.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Trabalhando com JSON em Python — 2025 | Python Brasil</title>
      <link>https://python.dev.br/blog/trabalhando-com-json-python/</link>
      <pubDate>Mon, 28 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/trabalhando-com-json-python/</guid>
      <description>&lt;p&gt;JSON (JavaScript Object Notation) e o formato de dados mais usado na web. Praticamente toda API retorna JSON, arquivos de configuracao usam JSON e ate bancos NoSQL armazenam documentos nesse formato. Python oferece suporte nativo excelente para trabalhar com JSON atraves do modulo &lt;code&gt;json&lt;/code&gt;. Neste guia, a gente vai explorar tudo que voce precisa saber.&lt;/p&gt;&#xA;&lt;h2 id=&#34;o-modulo-json-do-python&#34;&gt;O Modulo json do Python&lt;/h2&gt;&#xA;&lt;p&gt;O modulo &lt;code&gt;json&lt;/code&gt; ja vem incluso no Python e oferece quatro funcoes principais:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python vs JavaScript: Qual Aprender Primeiro?</title>
      <link>https://python.dev.br/blog/python-vs-javascript/</link>
      <pubDate>Sun, 20 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-vs-javascript/</guid>
      <description>&lt;p&gt;Se você está entrando no mundo da programação, provavelmente já se deparou com essa dúvida clássica: &lt;strong&gt;Python ou JavaScript?&lt;/strong&gt; As duas linguagens dominam o mercado e são excelentes opções para quem está começando, mas cada uma tem suas particularidades.&lt;/p&gt;&#xA;&lt;p&gt;Neste artigo, a gente vai comparar as duas linguagens de forma prática e honesta, com exemplos de código, análise do mercado brasileiro e recomendações baseadas nos seus objetivos.&lt;/p&gt;&#xA;&lt;h2 id=&#34;visão-geral&#34;&gt;Visão Geral&lt;/h2&gt;&#xA;&lt;h3 id=&#34;python&#34;&gt;Python&lt;/h3&gt;&#xA;&lt;p&gt;Python foi criada por Guido van Rossum em 1991 com foco em &lt;strong&gt;legibilidade e simplicidade&lt;/strong&gt;. A filosofia da linguagem é que &amp;ldquo;deve existir uma — e preferencialmente apenas uma — maneira óbvia de fazer algo&amp;rdquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Decoradores Python: Guia Pratico — 2025 | Python Brasil</title>
      <link>https://python.dev.br/blog/decoradores-python-guia-pratico/</link>
      <pubDate>Tue, 15 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/decoradores-python-guia-pratico/</guid>
      <description>&lt;p&gt;Decoradores sao uma das funcionalidades mais elegantes do Python. Eles permitem modificar o comportamento de funcoes e classes sem alterar o codigo original. Neste guia pratico, a gente vai entender como decoradores funcionam por baixo dos panos e criar varios exemplos uteis para o dia a dia.&lt;/p&gt;&#xA;&lt;h2 id=&#34;o-que-sao-decoradores&#34;&gt;O Que Sao Decoradores?&lt;/h2&gt;&#xA;&lt;p&gt;Um decorador e uma funcao que recebe outra funcao como argumento, adiciona alguma funcionalidade e retorna uma nova funcao. Em termos simples, e um wrapper que envolve uma funcao existente.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Manipulação de Arquivos Python — 2025 | Python Brasil</title>
      <link>https://python.dev.br/blog/manipulacao-de-arquivos-python/</link>
      <pubDate>Tue, 08 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/manipulacao-de-arquivos-python/</guid>
      <description>&lt;p&gt;Trabalhar com arquivos é uma das habilidades mais importantes que um programador Python pode desenvolver. Seja para ler configurações, processar dados em lote, gerar relatórios ou fazer integração entre sistemas, a manipulação de arquivos está presente em praticamente todo projeto real.&lt;/p&gt;&#xA;&lt;p&gt;Neste artigo, vamos explorar desde a abertura e leitura de arquivos de texto simples até o processamento de formatos estruturados como CSV e JSON, que são extremamente comuns no mercado de trabalho.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Como Começar com Python em 2026</title>
      <link>https://python.dev.br/blog/como-comecar-com-python/</link>
      <pubDate>Sun, 15 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/como-comecar-com-python/</guid>
      <description>&lt;p&gt;Se você está pensando em aprender a programar, Python é sem dúvida uma das melhores escolhas que você pode fazer em 2026. A linguagem continua sendo uma das mais populares do mundo, com uma comunidade enorme e oportunidades de trabalho que não param de crescer — especialmente no Brasil.&lt;/p&gt;&#xA;&lt;p&gt;Neste guia, a gente vai te levar do zero absoluto até escrever seus primeiros programas funcionais em Python. Vamos lá?&lt;/p&gt;&#xA;&lt;h2 id=&#34;por-que-python&#34;&gt;Por que Python?&lt;/h2&gt;&#xA;&lt;p&gt;Antes de colocar a mão na massa, vale entender por que Python é tão recomendada para quem está começando:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python para Iniciantes — 2025 | Python Brasil</title>
      <link>https://python.dev.br/blog/python-para-iniciantes-guia-completo/</link>
      <pubDate>Tue, 10 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/blog/python-para-iniciantes-guia-completo/</guid>
      <description>&lt;p&gt;Python se consolidou como a linguagem de programação mais recomendada para quem quer dar os primeiros passos no mundo do desenvolvimento. A sintaxe limpa, a enorme quantidade de bibliotecas disponíveis e a comunidade acolhedora fazem dela uma porta de entrada ideal para qualquer pessoa — independente da idade ou formação acadêmica.&lt;/p&gt;&#xA;&lt;p&gt;Neste guia completo, vamos abordar desde os conceitos mais fundamentais até a construção de pequenos projetos práticos. A ideia é que, ao final da leitura, você tenha uma base sólida para continuar seus estudos com confiança.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/python/</link>
      <pubDate>Fri, 10 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/python/</guid>
      <description>&lt;h2 id=&#34;o-que-é-python&#34;&gt;O que é Python?&lt;/h2&gt;&#xA;&lt;p&gt;Python é uma &lt;strong&gt;linguagem de programação de alto nível, interpretada e de propósito geral&lt;/strong&gt;, criada por Guido van Rossum e lançada publicamente em 1991. A origem do nome não vem da cobra, mas do programa de comédia britânico &amp;ldquo;Monty Python&amp;rsquo;s Flying Circus&amp;rdquo;, do qual Guido era fã.&lt;/p&gt;&#xA;&lt;p&gt;A linguagem foi projetada com um objetivo claro: ser legível como pseudo-código e produtiva para quem a escreve. Essa filosofia fez com que Python se tornasse uma das linguagens mais populares do mundo, ocupando o topo dos índices TIOBE e Stack Overflow Developer Survey por vários anos consecutivos.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
