<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Python Brasil — Aprenda Python em Português</title>
    <link>https://python.dev.br/</link>
    <description>Recent content on Python Brasil — Aprenda Python em Português</description>
    <generator>Hugo</generator>
    <language>pt-br</language>
    <atom:link href="https://python.dev.br/index.xml" rel="self" type="application/rss+xml" />
    <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>Analyst Latin America GAS</title>
      <link>https://python.dev.br/vagas/s-p-global-analyst-latin-america-gas-653080067/</link>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/vagas/s-p-global-analyst-latin-america-gas-653080067/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Analista de Mercado de Gás - América Latina&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;S&amp;amp;P Global&lt;/strong&gt; está com uma &lt;strong&gt;vaga&lt;/strong&gt; aberta para Analista de Mercado de Gás, focado na América Latina. Esta é uma excelente &lt;strong&gt;oportunidade&lt;/strong&gt; para profissionais da área de energia que desejam impactar o mercado de gás natural e gases de baixo carbono.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Oportunidade:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Você fará parte da equipe de Gás das Américas, colaborando com analistas do Canadá, Estados Unidos, México e Brasil. Sua atuação será dentro da linha de negócios de Pesquisa e Soluções Analíticas, que abrange diversos setores como Upstream, Petróleo, Combustíveis e Químicos, Gás e GNL, Energia e Renováveis, Agricultura e Metais, e Transporte Marítimo.&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>Software Engineer I</title>
      <link>https://python.dev.br/vagas/hat-thinking-tecnologia-software-engineer-i-653064939/</link>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/vagas/hat-thinking-tecnologia-software-engineer-i-653064939/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Vaga para Desenvolvedor(a) Python Júnior na Hat Thinking Tecnologia&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;A Hat Thinking Tecnologia está com uma &lt;strong&gt;vaga&lt;/strong&gt; aberta para &lt;strong&gt;Desenvolvedor(a) Python&lt;/strong&gt; Júnior. Se você busca uma &lt;strong&gt;oportunidade&lt;/strong&gt; para crescer rapidamente e construir soluções inovadoras ao lado de especialistas, essa &lt;strong&gt;vaga&lt;/strong&gt; é para você!&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;O que você fará:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Desenvolvimento full-stack, desde o frontend até a integração com sistemas complexos.&lt;/li&gt;&#xA;&lt;li&gt;Pair programming e code review com arquitetos seniores, aprendendo as melhores práticas de desenvolvimento.&lt;/li&gt;&#xA;&lt;li&gt;Implementação de integrações entre sistemas corporativos, APIs REST e pipelines de dados.&lt;/li&gt;&#xA;&lt;li&gt;Utilização de inteligência artificial como ferramenta de trabalho.&lt;/li&gt;&#xA;&lt;li&gt;Participação ativa em discussões técnicas com o time e stakeholders.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Requisitos:&lt;/strong&gt;&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>Analista De Dados - Processos Seletivos Abertos</title>
      <link>https://python.dev.br/vagas/rama-advogados-associados-analista-de-dados-processos-648573696/</link>
      <pubDate>Sun, 22 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/vagas/rama-advogados-associados-analista-de-dados-processos-648573696/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Analista de Dados - Oportunidade em Porto Alegre&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Rama Advogados Associados&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Estamos com vaga aberta para Analista de Dados em Porto Alegre. Se você é um desenvolvedor apaixonado por dados e busca uma oportunidade desafiadora, candidate-se!&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Responsabilidades:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Coletar, organizar e tratar dados de diversas fontes.&lt;/li&gt;&#xA;&lt;li&gt;Desenvolver consultas SQL complexas, procedures e rotinas para extração e análise de dados.&lt;/li&gt;&#xA;&lt;li&gt;Construir e manter bases de dados, garantindo a governança da informação.&lt;/li&gt;&#xA;&lt;li&gt;Desenvolver scripts Python para tratamento, análise e integração de dados.&lt;/li&gt;&#xA;&lt;li&gt;Criar relatórios, indicadores e dashboards para acompanhamento de performance.&lt;/li&gt;&#xA;&lt;li&gt;Identificar padrões, tendências e oportunidades de melhoria.&lt;/li&gt;&#xA;&lt;li&gt;Apoiar áreas internas na interpretação de dados.&lt;/li&gt;&#xA;&lt;li&gt;Garantir a qualidade, consistência e segurança das informações.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Requisitos:&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Marketing Analytics and BI Engineer, BR Marketing Analytics and BI</title>
      <link>https://python.dev.br/vagas/mygwork-lgbtq-business-community-marketing-analytics-and-bi-648512559/</link>
      <pubDate>Sun, 22 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/vagas/mygwork-lgbtq-business-community-marketing-analytics-and-bi-648512559/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Vaga para Engenheiro(a) de Marketing Analytics e BI&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;A [Nome da Empresa], membro da myGwork – a maior plataforma global para a comunidade de negócios LGBTQ+ – busca um(a) Engenheiro(a) de Marketing Analytics e BI talentoso(a) para construir e gerenciar soluções de dados que gerem insights sobre o comportamento do cliente e o desempenho do marketing. Esta oportunidade combina expertise técnica com visão de marketing para criar produtos analíticos que impulsionem a tomada de decisões estratégicas e otimizem o ROI do marketing em todos os canais.&lt;/p&gt;</description>
    </item>
    <item>
      <title>S.449 J - Analista de automação JR - CONECTIVIDADE</title>
      <link>https://python.dev.br/vagas/segula-technologies-s-449-j-analista-de-automa-o-jr-648611161/</link>
      <pubDate>Sun, 22 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/vagas/segula-technologies-s-449-j-analista-de-automa-o-jr-648611161/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Vaga: Analista de Automação JR - Conectividade&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;A SEGULA Technologies, multinacional de engenharia presente em 30 países, busca um(a) Analista de Automação JR para integrar nossa equipe e atuar no desenvolvimento de soluções de conectividade industrial. Se você busca uma oportunidade para aplicar seus conhecimentos em IoT e automação, esta vaga é para você!&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Responsabilidades:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Desenvolver e implementar soluções de conectividade para máquinas e dispositivos IoT em ambientes industriais.&lt;/li&gt;&#xA;&lt;li&gt;Garantir a coleta, processamento e integração de dados em plataformas de Big Data e analytics (ex.: Databricks).&lt;/li&gt;&#xA;&lt;li&gt;Trabalhar com protocolos de comunicação industrial (OPC UA, MQTT, EtherNet/IP, Modbus, etc.).&lt;/li&gt;&#xA;&lt;li&gt;Colaborar com equipes de engenharia, TI e inovação na definição de padrões e arquiteturas de conectividade.&lt;/li&gt;&#xA;&lt;li&gt;Monitorar e otimizar o desempenho das soluções implementadas, assegurando a segurança e a disponibilidade dos dados.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Requisitos:&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Engenheiro (a) de IA (DevEx)Sênior</title>
      <link>https://python.dev.br/vagas/b3-7411-engenheiro-a-de-ia-devex-s-nior-647955893/</link>
      <pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/vagas/b3-7411-engenheiro-a-de-ia-devex-s-nior-647955893/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Vaga: Engenheiro(a) de IA (DevEx) Sênior - B3&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Local:&lt;/strong&gt; São Paulo/SP&lt;/p&gt;&#xA;&lt;p&gt;A B3 está buscando um(a) Engenheiro(a) de IA (DevEx) Sênior para integrar nossa equipe e impulsionar a inovação em nosso ecossistema de desenvolvimento. Se você é apaixonado(a) por IA, possui experiência sólida em engenharia de software e busca uma oportunidade para construir o futuro do mercado financeiro, esta vaga é para você!&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Seu dia a dia:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Desenvolver e implementar agentes de IA integrados ao ambiente de engenharia (repositórios, CI/CD, ferramentas de gestão, observabilidade e documentação).&lt;/li&gt;&#xA;&lt;li&gt;Aplicar as melhores práticas de engenharia de software em todas as etapas do ciclo de vida das soluções de IA, garantindo design, testes, segurança, observabilidade e performance.&lt;/li&gt;&#xA;&lt;li&gt;Experimentar e implementar soluções inovadoras com LLMs (prompts, RAG, orquestração de agentes), avaliando o impacto e a qualidade para os desenvolvedores.&lt;/li&gt;&#xA;&lt;li&gt;Colaborar com equipes multidisciplinares (arquitetura, segurança, produto e desenvolvimento) na definição de padrões, diretrizes e uso responsável da IA.&lt;/li&gt;&#xA;&lt;li&gt;Atuar como multiplicador, capacitando outras equipes a utilizar e expandir os agentes de IA, através de documentação e compartilhamento de conhecimento.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Requisitos:&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Engenheiro de IA - PJ</title>
      <link>https://python.dev.br/vagas/leaf-consulting-engenheiro-de-ia-pj-647964286/</link>
      <pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/vagas/leaf-consulting-engenheiro-de-ia-pj-647964286/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Vaga&lt;/strong&gt; para &lt;strong&gt;Engenheiro de IA - PJ&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;A Leaf Consulting, especialista em BPM, automação de processos, RPA e &lt;strong&gt;IA aplicada&lt;/strong&gt;, busca um(a) &lt;strong&gt;Desenvolvedor(a) de IA&lt;/strong&gt; para fortalecer nossa área de inovação. Esta é uma excelente &lt;strong&gt;oportunidade&lt;/strong&gt; para trabalhar com clientes de alto nível, desenvolvendo soluções inteligentes e inovadoras.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Responsabilidades:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Projetar e desenvolver soluções de &lt;strong&gt;IA&lt;/strong&gt; para automação, otimização de processos e integração com sistemas existentes.&lt;/li&gt;&#xA;&lt;li&gt;Implementar modelos de LLM e arquiteturas RAG para captura, classificação e interpretação de dados.&lt;/li&gt;&#xA;&lt;li&gt;Programar em &lt;strong&gt;Python&lt;/strong&gt; (principal) e C# para integrar modelos e APIs com soluções corporativas.&lt;/li&gt;&#xA;&lt;li&gt;Estruturar e gerenciar pipelines de dados (ingestão, limpeza, embeddings e vetorização) em bases relacionais e vetoriais (FAISS, pgvector, Milvus, Chroma).&lt;/li&gt;&#xA;&lt;li&gt;Colaborar com equipes de Projetos, Desenvolvimento e Qualidade para garantir soluções robustas, seguras e escaláveis.&lt;/li&gt;&#xA;&lt;li&gt;Monitorar e aprimorar modelos em produção, utilizando métricas de acurácia, performance e custo.&lt;/li&gt;&#xA;&lt;li&gt;Contribuir com a inovação contínua do portfólio de soluções da Leaf.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Requisitos:&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Engenheiro Machine Learning Sênior</title>
      <link>https://python.dev.br/vagas/agoda-senior-staff-machine-learning-engineer-bidding-648376314/</link>
      <pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/vagas/agoda-senior-staff-machine-learning-engineer-bidding-648376314/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Vaga para Engenheiro(a) Machine Learning Sênior&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;A Agoda está buscando um(a) Engenheiro(a) Machine Learning Sênior talentoso(a) para se juntar à nossa equipe de engenharia. Se você é apaixonado(a) por dados, tecnologia e busca uma oportunidade para impactar a experiência de milhões de usuários em todo o mundo, esta vaga é para você!&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Sobre a Agoda&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;A Agoda, parte do Booking Holdings [NASDAQ: BKNG], conecta pessoas a destinos e experiências incríveis em todo o mundo. Com uma equipe global diversificada, impulsionamos a inovação através de dados e tecnologia.&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;&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;&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>Auxiliar de Informações técnicas</title>
      <link>https://python.dev.br/vagas/fraga-intelig-ncia-automotiva-auxiliar-de-informa-es-t-647723555/</link>
      <pubDate>Fri, 20 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/vagas/fraga-intelig-ncia-automotiva-auxiliar-de-informa-es-t-647723555/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Vaga: Analista de Informações Técnicas Automotivas&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Fraga Inteligência Automotiva&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;A Fraga Inteligência Automotiva está buscando um(a) Analista de Informações Técnicas para integrar nossa equipe e contribuir para a precisão e qualidade dos nossos dados de produtos automotivos. Se você possui experiência no setor de autopeças e busca uma oportunidade para desenvolver suas habilidades, essa vaga é para você!&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Responsabilidades:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Cadastro técnico de produtos automotivos, garantindo a precisão das aplicações veiculares e especificações.&lt;/li&gt;&#xA;&lt;li&gt;Análise, validação e organização de informações técnicas provenientes de catálogos e planilhas.&lt;/li&gt;&#xA;&lt;li&gt;Conferência de informações cadastradas no sistema.&lt;/li&gt;&#xA;&lt;li&gt;Busca de informações técnicas complementares.&lt;/li&gt;&#xA;&lt;li&gt;Revisão de características técnicas de produtos.&lt;/li&gt;&#xA;&lt;li&gt;Suporte técnico a outros membros da equipe.&lt;/li&gt;&#xA;&lt;li&gt;Manipulação de planilhas em Excel.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Requisitos:&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>ESTÁGIO EM TECNOLOGIA / DESENVOLVIMENTO</title>
      <link>https://python.dev.br/vagas/via-estetica-comercio-de-materiais-medico-e-hospitalar-ltda-647629671/</link>
      <pubDate>Fri, 20 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/vagas/via-estetica-comercio-de-materiais-medico-e-hospitalar-ltda-647629671/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Vaga de Estágio em Desenvolvimento Python – Campinas/SP&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;A Viaestetic, distribuidora de produtos de estética com forte presença nacional, busca um(a) estagiário(a) talentoso(a) para integrar nossa equipe de tecnologia em Campinas/SP. Esta é uma excelente oportunidade para desenvolver suas habilidades em um ambiente dinâmico e inovador, contribuindo para a automação de processos e melhoria contínua.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Responsabilidades:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Apoiar o desenvolvimento de soluções e automações internas utilizando Python.&lt;/li&gt;&#xA;&lt;li&gt;Contribuir para a otimização de processos operacionais, comerciais e de gestão.&lt;/li&gt;&#xA;&lt;li&gt;Colaborar com áreas estratégicas do negócio.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Requisitos:&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Desenvolvedor Full Stack</title>
      <link>https://python.dev.br/vagas/infostrategy-desenvolvedor-full-stack-646978420/</link>
      <pubDate>Thu, 19 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/vagas/infostrategy-desenvolvedor-full-stack-646978420/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Vaga para Desenvolvedor(a) Full Stack Python&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;A Infostrategy está buscando um(a) Desenvolvedor(a) Full Stack talentoso(a) para integrar nossa equipe e atuar em projetos inovadores de Inteligência Artificial. Esta é uma excelente oportunidade para impulsionar sua carreira e contribuir para a evolução tecnológica de nossos sistemas.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Responsabilidades:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Desenvolvimento e integração de soluções inteligentes em sistemas corporativos.&lt;/li&gt;&#xA;&lt;li&gt;Atuação em todas as etapas do ciclo de vida do software, desde a concepção até a entrega em produção.&lt;/li&gt;&#xA;&lt;li&gt;Definição de arquitetura de soluções e padrões de desenvolvimento.&lt;/li&gt;&#xA;&lt;li&gt;Integração de APIs e construção de serviços escaláveis.&lt;/li&gt;&#xA;&lt;li&gt;Participação em code review e implementação de testes automatizados.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Requisitos Obrigatórios:&lt;/strong&gt;&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>Senior Data Engineer (Python &#43; Power BI) - Remote - Latin America</title>
      <link>https://python.dev.br/vagas/fullstack-senior-data-engineer-python-power-bi-remote-latin-646907716/</link>
      <pubDate>Thu, 19 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/vagas/fullstack-senior-data-engineer-python-power-bi-remote-latin-646907716/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Oportunidade para Desenvolvedor(a) Data Engineer Sênior (Python + Power BI) - Remoto - América Latina&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;A [Nome da Empresa] busca um(a) &lt;strong&gt;Desenvolvedor(a) Data Engineer Sênior&lt;/strong&gt; para integrar nossa rede de talentos e conectar-se com clientes nos EUA em projetos flexíveis. Esta &lt;strong&gt;vaga&lt;/strong&gt; é 100% remota e oferece a chance de trabalhar com tecnologias de ponta e empresas inovadoras.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Responsabilidades:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Integrar-se diretamente nas equipes dos nossos clientes, colaborando com designers e engenheiros.&lt;/li&gt;&#xA;&lt;li&gt;Construir e manter pipelines de dados robustos e escaláveis em produção.&lt;/li&gt;&#xA;&lt;li&gt;Desenvolver dashboards e modelos de dados avançados em Power BI.&lt;/li&gt;&#xA;&lt;li&gt;Transformar e otimizar dados utilizando SQL.&lt;/li&gt;&#xA;&lt;li&gt;Projetar e manter data warehouses (ex: Snowflake, Redshift, BigQuery).&lt;/li&gt;&#xA;&lt;li&gt;Garantir a qualidade, validação e governança dos dados.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Requisitos:&lt;/strong&gt;&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>WebSocket: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/websocket/</link>
      <pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/websocket/</guid>
      <description>&lt;h2 id=&#34;o-que-é-websocket&#34;&gt;O que é WebSocket?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;WebSocket&lt;/strong&gt; é um protocolo de comunicação que permite &lt;strong&gt;troca de dados bidirecional&lt;/strong&gt; entre cliente e servidor em &lt;strong&gt;tempo real&lt;/strong&gt; sobre uma única conexão TCP persistente. Diferente do HTTP tradicional (onde o cliente sempre inicia a comunicação), com WebSocket tanto o servidor quanto o cliente podem enviar dados a qualquer momento, sem necessidade de uma nova requisição.&lt;/p&gt;&#xA;&lt;p&gt;O protocolo WebSocket foi padronizado pela IETF como &lt;strong&gt;RFC 6455&lt;/strong&gt; em 2011 e é suportado nativamente por todos os navegadores modernos.&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>Pydantic: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/pydantic/</link>
      <pubDate>Thu, 05 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/pydantic/</guid>
      <description>&lt;h2 id=&#34;o-que-é-pydantic&#34;&gt;O que é Pydantic?&lt;/h2&gt;&#xA;&lt;p&gt;O &lt;strong&gt;Pydantic&lt;/strong&gt; é a biblioteca mais popular do Python para &lt;strong&gt;validação de dados&lt;/strong&gt; usando type hints. Ele garante que os dados recebidos estejam no formato correto, fazendo conversões automáticas e levantando erros claros quando algo está errado.&lt;/p&gt;&#xA;&lt;p&gt;É a biblioteca padrão de validação do &lt;strong&gt;FastAPI&lt;/strong&gt; e é amplamente usada em projetos profissionais para parsing de configurações, validação de entradas de API, integração com bancos de dados e muito mais.&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>Poetry: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/poetry/</link>
      <pubDate>Sat, 28 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/poetry/</guid>
      <description>&lt;h2 id=&#34;o-que-e-poetry&#34;&gt;O que e Poetry?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Poetry&lt;/strong&gt; e uma ferramenta moderna de gerenciamento de dependencias e empacotamento para projetos Python. Ela resolve varios problemas historicos do ecossistema Python ao unificar em uma unica ferramenta a gestao de dependencias, ambientes virtuais, build e publicacao de pacotes. Em vez de lidar com &lt;code&gt;pip&lt;/code&gt;, &lt;code&gt;virtualenv&lt;/code&gt;, &lt;code&gt;setup.py&lt;/code&gt; e &lt;code&gt;requirements.txt&lt;/code&gt; separadamente, o Poetry centraliza tudo no arquivo &lt;code&gt;pyproject.toml&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Poetry garante &lt;strong&gt;builds reprodutiveis&lt;/strong&gt; atraves do arquivo &lt;code&gt;poetry.lock&lt;/code&gt;, que registra as versoes exatas de todas as dependencias e sub-dependencias instaladas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Dataclass em Python: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/dataclass/</link>
      <pubDate>Sun, 22 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/dataclass/</guid>
      <description>&lt;h2 id=&#34;o-que-é-dataclass&#34;&gt;O que é Dataclass?&lt;/h2&gt;&#xA;&lt;p&gt;Uma &lt;strong&gt;dataclass&lt;/strong&gt; é uma forma simplificada de criar classes em Python que servem principalmente para &lt;strong&gt;armazenar dados&lt;/strong&gt;. Introduzida no Python 3.7 (PEP 557), ela gera automaticamente métodos como &lt;code&gt;__init__&lt;/code&gt;, &lt;code&gt;__repr__&lt;/code&gt; e &lt;code&gt;__eq__&lt;/code&gt;, reduzindo drasticamente o boilerplate.&lt;/p&gt;&#xA;&lt;p&gt;O resultado é código mais limpo, mais legível e menos propenso a erros de digitação nos métodos repetitivos.&lt;/p&gt;&#xA;&lt;h2 id=&#34;antes-e-depois-a-diferença-em-prática&#34;&gt;Antes e depois: a diferença em prática&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;# SEM dataclass (muito código repetitivo)&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;class&lt;/span&gt; &lt;span class=&#34;nc&#34;&gt;ProdutoAntigo&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;nome&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;preco&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;quantidade&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;nome&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;nome&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;preco&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;preco&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;quantidade&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;quantidade&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;fm&#34;&gt;__repr__&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;&#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;sa&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Produto(nome=&amp;#39;&lt;/span&gt;&lt;span class=&#34;si&#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;nome&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#39;, preco=&lt;/span&gt;&lt;span class=&#34;si&#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;preco&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, quantidade=&lt;/span&gt;&lt;span class=&#34;si&#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;quantidade&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;&#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;fm&#34;&gt;__eq__&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;other&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;if&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;not&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;isinstance&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;other&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ProdutoAntigo&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;bp&#34;&gt;NotImplemented&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;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;nome&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;other&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;nome&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;and&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;preco&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;other&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;preco&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;and&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;quantidade&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;other&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;quantidade&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 dataclass (limpo e conciso)&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;dataclasses&lt;/span&gt; &lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;dataclass&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;@dataclass&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;class&lt;/span&gt; &lt;span class=&#34;nc&#34;&gt;Produto&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;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;&#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;preco&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;float&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;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;0&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;p1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Produto&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Notebook&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;3500.0&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;p2&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Produto&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Notebook&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;3500.0&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;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;p1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;          &lt;span class=&#34;c1&#34;&gt;# Produto(nome=&amp;#39;Notebook&amp;#39;, preco=3500.0, quantidade=5)&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;p1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;p2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;# True — __eq__ gerado automaticamente&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;a-função-field-em-detalhe&#34;&gt;A função field() em detalhe&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;field()&lt;/code&gt; controla o comportamento individual de cada campo:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Selenium: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/selenium/</link>
      <pubDate>Sun, 22 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/selenium/</guid>
      <description>&lt;h2 id=&#34;o-que-e-selenium&#34;&gt;O que e Selenium?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Selenium&lt;/strong&gt; e uma ferramenta de automacao de navegadores web que permite controlar o Chrome, Firefox, Edge e outros navegadores programaticamente usando Python. Diferente de BeautifulSoup e Requests que trabalham apenas com HTML estatico, Selenium executa JavaScript, interage com elementos dinamicos e simula acoes reais de um usuario — cliques, digitacao, scroll e navegacao.&lt;/p&gt;&#xA;&lt;p&gt;Selenium e usado em dois cenarios principais: &lt;strong&gt;web scraping&lt;/strong&gt; de sites que dependem de JavaScript para renderizar conteudo e &lt;strong&gt;testes automatizados&lt;/strong&gt; de interfaces web.&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>Context Manager em Python: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/context-manager/</link>
      <pubDate>Tue, 10 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/context-manager/</guid>
      <description>&lt;h2 id=&#34;o-que-é-um-context-manager&#34;&gt;O que é um Context Manager?&lt;/h2&gt;&#xA;&lt;p&gt;Um &lt;strong&gt;context manager&lt;/strong&gt; é um objeto que define o comportamento de &lt;strong&gt;entrada e saída&lt;/strong&gt; de um bloco &lt;code&gt;with&lt;/code&gt;. Ele garante que recursos (como arquivos, conexões de banco de dados ou locks) sejam &lt;strong&gt;corretamente liberados&lt;/strong&gt; após o uso, mesmo se ocorrer uma exceção.&lt;/p&gt;&#xA;&lt;p&gt;É um dos padrões mais elegantes do Python para gerenciamento seguro de recursos, eliminando erros de &amp;ldquo;esqueceu de fechar&amp;rdquo; que ocorrem com código manual de cleanup.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Matplotlib: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/matplotlib/</link>
      <pubDate>Tue, 10 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/matplotlib/</guid>
      <description>&lt;h2 id=&#34;o-que-e-matplotlib&#34;&gt;O que e Matplotlib?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Matplotlib&lt;/strong&gt; e a biblioteca de visualizacao de dados mais utilizada em Python. Ela permite criar graficos estaticos, interativos e animados com qualidade para publicacao. Matplotlib e a base sobre a qual outras bibliotecas de visualizacao como Seaborn e pandas plotting sao construidas. Com ela, voce pode gerar graficos de linha, barra, dispersao, histogramas, pizza, mapas de calor e dezenas de outros tipos.&lt;/p&gt;&#xA;&lt;p&gt;A interface principal e o modulo &lt;code&gt;pyplot&lt;/code&gt;, que fornece uma API semelhante ao MATLAB para criacao rapida de graficos.&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>Iterator em Python: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/iterator/</link>
      <pubDate>Fri, 30 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/iterator/</guid>
      <description>&lt;h2 id=&#34;o-que-é-um-iterator&#34;&gt;O que é um Iterator?&lt;/h2&gt;&#xA;&lt;p&gt;Um &lt;strong&gt;iterator&lt;/strong&gt; (iterador) é um objeto que implementa o &lt;strong&gt;protocolo de iteração&lt;/strong&gt; do Python, permitindo percorrer uma sequência de valores um por vez. Todo objeto sobre o qual você pode usar um &lt;code&gt;for&lt;/code&gt; é iterável, e por trás dos panos, o Python usa iterators para fazer isso funcionar.&lt;/p&gt;&#xA;&lt;p&gt;Iterators são a espinha dorsal de boa parte do Python: loops &lt;code&gt;for&lt;/code&gt;, list comprehensions, funções como &lt;code&gt;map()&lt;/code&gt;, &lt;code&gt;filter()&lt;/code&gt;, &lt;code&gt;zip()&lt;/code&gt; e &lt;code&gt;enumerate()&lt;/code&gt; — todas dependem desse protocolo. Entendê-lo profundamente é o que separa um desenvolvedor Python intermediário de um avançado.&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>Multiprocessing: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/multiprocessing/</link>
      <pubDate>Sun, 25 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/multiprocessing/</guid>
      <description>&lt;h2 id=&#34;o-que-e-multiprocessing&#34;&gt;O que e Multiprocessing?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Multiprocessing&lt;/strong&gt; e o modulo da biblioteca padrao do Python que permite executar codigo em &lt;strong&gt;multiplos processos&lt;/strong&gt; simultaneamente, aproveitando todos os nucleos da CPU. Diferente de threading, onde o GIL (Global Interpreter Lock) impede a execucao paralela real de codigo Python, cada processo no multiprocessing tem seu proprio interpretador e sua propria memoria, eliminando completamente a limitacao do GIL.&lt;/p&gt;&#xA;&lt;p&gt;O multiprocessing e a solucao ideal para tarefas &lt;strong&gt;CPU-bound&lt;/strong&gt; — calculos matematicos pesados, processamento de imagens, compressao de dados e qualquer operacao que exige uso intensivo do processador.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Salário Python: Quanto Ganha em 2026</title>
      <link>https://python.dev.br/perguntas/quanto-ganha-programador-python/</link>
      <pubDate>Tue, 20 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/perguntas/quanto-ganha-programador-python/</guid>
      <description>&lt;h2 id=&#34;quanto-ganha-um-programador-python-no-brasil&#34;&gt;Quanto ganha um programador Python no Brasil?&lt;/h2&gt;&#xA;&lt;p&gt;O mercado de trabalho para desenvolvedores Python no Brasil está aquecido. Com a crescente demanda por profissionais de ciência de dados, inteligência artificial e desenvolvimento web, Python se consolidou como uma das linguagens mais valorizadas do país.&lt;/p&gt;&#xA;&lt;p&gt;Os salários variam bastante dependendo do nível de experiência, localização, tipo de empresa e área de atuação. Veja uma análise detalhada dos valores praticados em 2026.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Async/Await: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/async-await/</link>
      <pubDate>Sun, 18 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/async-await/</guid>
      <description>&lt;h2 id=&#34;o-que-é-asyncawait&#34;&gt;O que é Async/Await?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Async/await&lt;/strong&gt; é a sintaxe do Python para &lt;strong&gt;programação assíncrona&lt;/strong&gt;. Ela permite que seu programa execute múltiplas tarefas de forma concorrente, sem bloquear a execução enquanto espera por operações lentas como requisições HTTP, leitura de arquivos ou consultas a banco de dados.&lt;/p&gt;&#xA;&lt;p&gt;Introduzido no Python 3.5, o async/await tornou o código assíncrono tão legível quanto código síncrono. Antes disso, a programação assíncrona em Python requeria callbacks e a API de baixo nível do &lt;code&gt;asyncio&lt;/code&gt;, muito mais difíceis de entender e depurar.&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>Logging: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/logging/</link>
      <pubDate>Sat, 10 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/logging/</guid>
      <description>&lt;h2 id=&#34;o-que-e-logging&#34;&gt;O que e Logging?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Logging&lt;/strong&gt; e o mecanismo de registrar eventos que ocorrem durante a execucao de um programa. O modulo &lt;code&gt;logging&lt;/code&gt; da biblioteca padrao do Python oferece um sistema flexivel e configuravel para emitir mensagens de log com diferentes niveis de severidade. Diferente de &lt;code&gt;print()&lt;/code&gt;, o logging permite controlar o que e registrado, para onde vai (arquivo, console, servicos externos) e em que formato, sem modificar o codigo da aplicacao.&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>Try/Except em Python: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/try-except/</link>
      <pubDate>Mon, 05 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/try-except/</guid>
      <description>&lt;h2 id=&#34;o-que-é-tryexcept&#34;&gt;O que é Try/Except?&lt;/h2&gt;&#xA;&lt;p&gt;O bloco &lt;strong&gt;try/except&lt;/strong&gt; é a estrutura do Python para &lt;strong&gt;tratamento de erros em tempo de execução&lt;/strong&gt;. Ele permite &amp;ldquo;tentar&amp;rdquo; executar um bloco de código e, caso uma exceção seja lançada, capturá-la e lidar com ela de forma controlada, sem que o programa quebre inesperadamente.&lt;/p&gt;&#xA;&lt;p&gt;Mais do que uma sintaxe de tratamento de erros, o &lt;code&gt;try/except&lt;/code&gt; representa uma &lt;strong&gt;filosofia de programação&lt;/strong&gt; característica do Python: preferir tentar fazer e lidar com falhas do que verificar condições antecipadamente.&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>Exceções em Python: O que São e Como Funcionam | Python Brasil</title>
      <link>https://python.dev.br/glossario/exception/</link>
      <pubDate>Thu, 18 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/exception/</guid>
      <description>&lt;h2 id=&#34;o-que-são-exceções&#34;&gt;O que são Exceções?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Exceções&lt;/strong&gt; são eventos que ocorrem durante a execução de um programa e &lt;strong&gt;interrompem o fluxo normal&lt;/strong&gt; de instruções. Em Python, erros em tempo de execução são representados como objetos de exceção — instâncias de classes que herdam de &lt;code&gt;BaseException&lt;/code&gt;. A linguagem oferece um mecanismo robusto para tratar, propagar e criar esses erros de forma estruturada.&lt;/p&gt;&#xA;&lt;p&gt;Diferente de linguagens como C, onde erros são frequentemente representados por códigos de retorno, Python abraça o uso de exceções como parte central do fluxo de controle. O princípio é: &lt;strong&gt;falhe alto e rápido&lt;/strong&gt;, para que erros sejam detectados cedo e de forma explícita.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Threading: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/threading/</link>
      <pubDate>Thu, 18 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/threading/</guid>
      <description>&lt;h2 id=&#34;o-que-e-threading&#34;&gt;O que e Threading?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Threading&lt;/strong&gt; e uma forma de concorrencia em Python que permite executar multiplas tarefas aparentemente ao mesmo tempo dentro de um unico processo. Cada &lt;strong&gt;thread&lt;/strong&gt; e um fluxo de execucao independente que compartilha a memoria do processo pai. O modulo &lt;code&gt;threading&lt;/code&gt; da biblioteca padrao fornece uma interface de alto nivel para criar e gerenciar threads.&lt;/p&gt;&#xA;&lt;p&gt;E importante entender que, devido ao &lt;strong&gt;GIL&lt;/strong&gt; (Global Interpreter Lock) do CPython, threads Python nao executam codigo Python simultaneamente em multiplos nucleos. Threads sao mais eficientes para tarefas &lt;strong&gt;I/O-bound&lt;/strong&gt; (como requisicoes de rede, leitura de arquivos e consultas a banco de dados) do que para tarefas &lt;strong&gt;CPU-bound&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Análise de Dados com Pandas: Guia</title>
      <link>https://python.dev.br/guias/analise-dados-pandas/</link>
      <pubDate>Wed, 10 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/guias/analise-dados-pandas/</guid>
      <description>&lt;h2 id=&#34;introdução&#34;&gt;Introdução&lt;/h2&gt;&#xA;&lt;p&gt;Pandas é a biblioteca mais importante para análise de dados em Python. Usada por cientistas de dados, analistas e engenheiros em todo o mundo, ela permite carregar, manipular, limpar e analisar dados de forma eficiente e intuitiva.&lt;/p&gt;&#xA;&lt;p&gt;Neste guia, vamos aprender Pandas do básico ao intermediário, com exemplos práticos usando dados reais.&lt;/p&gt;&#xA;&lt;h2 id=&#34;instalação&#34;&gt;Instalação&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 pandas matplotlib openpyxl&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;O &lt;code&gt;matplotlib&lt;/code&gt; é para gráficos e o &lt;code&gt;openpyxl&lt;/code&gt; para ler e escrever arquivos Excel.&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>Automação com Selenium e Python: Guia</title>
      <link>https://python.dev.br/guias/automacao-com-selenium/</link>
      <pubDate>Mon, 08 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/guias/automacao-com-selenium/</guid>
      <description>&lt;h2 id=&#34;introdução&#34;&gt;Introdução&lt;/h2&gt;&#xA;&lt;p&gt;Selenium é a ferramenta mais popular para automatizar navegadores web com Python. Com ele, você pode simular ações de um usuário real: clicar em botões, preencher formulários, navegar entre páginas e extrair dados de sites que dependem de JavaScript para carregar conteúdo.&lt;/p&gt;&#xA;&lt;p&gt;Neste guia, vamos instalar o Selenium, aprender a interagir com páginas web e criar automações úteis para o dia a dia.&lt;/p&gt;&#xA;&lt;h2 id=&#34;casos-de-uso&#34;&gt;Casos de uso&lt;/h2&gt;&#xA;&lt;p&gt;O Selenium é usado para:&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>Melhores Bibliotecas Python em 2025</title>
      <link>https://python.dev.br/perguntas/melhores-bibliotecas-python/</link>
      <pubDate>Sun, 07 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/perguntas/melhores-bibliotecas-python/</guid>
      <description>&lt;h2 id=&#34;quais-são-as-melhores-bibliotecas-python&#34;&gt;Quais são as melhores bibliotecas Python?&lt;/h2&gt;&#xA;&lt;p&gt;O ecossistema Python tem mais de 500 mil pacotes no PyPI, o que pode ser intimidador para quem está começando. Neste artigo, listamos as bibliotecas mais importantes organizadas por área de atuação, explicando quando e por que usar cada uma.&lt;/p&gt;&#xA;&lt;h2 id=&#34;desenvolvimento-web&#34;&gt;Desenvolvimento web&lt;/h2&gt;&#xA;&lt;h3 id=&#34;django&#34;&gt;Django&lt;/h3&gt;&#xA;&lt;p&gt;O framework web mais completo do Python. Inclui ORM, autenticação, painel administrativo, formulários e muito mais. Ideal para projetos que precisam de muitas funcionalidades prontas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Web Scraping com BeautifulSoup: Guia</title>
      <link>https://python.dev.br/guias/web-scraping-beautifulsoup/</link>
      <pubDate>Sat, 06 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/guias/web-scraping-beautifulsoup/</guid>
      <description>&lt;h2 id=&#34;introdução&#34;&gt;Introdução&lt;/h2&gt;&#xA;&lt;p&gt;Web scraping é a técnica de extrair dados de páginas web automaticamente. Com Python e a biblioteca BeautifulSoup, você pode coletar informações de sites que não oferecem APIs, como preços de produtos, notícias, dados de pesquisa e muito mais.&lt;/p&gt;&#xA;&lt;p&gt;Neste guia, vamos aprender a usar BeautifulSoup para extrair dados de páginas HTML, tratar erros e seguir boas práticas de scraping responsável.&lt;/p&gt;&#xA;&lt;h2 id=&#34;instalação&#34;&gt;Instalação&lt;/h2&gt;&#xA;&lt;p&gt;Instale BeautifulSoup e Requests:&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 beautifulsoup4 requests&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;O &lt;code&gt;beautifulsoup4&lt;/code&gt; faz o parsing do HTML e o &lt;code&gt;requests&lt;/code&gt; faz as requisições HTTP para baixar as páginas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pacote Python: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/pacote/</link>
      <pubDate>Fri, 05 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/pacote/</guid>
      <description>&lt;h2 id=&#34;o-que-é-um-pacote-python&#34;&gt;O que é um Pacote Python?&lt;/h2&gt;&#xA;&lt;p&gt;Um &lt;strong&gt;pacote&lt;/strong&gt; (package) em Python é uma forma de &lt;strong&gt;organizar módulos relacionados&lt;/strong&gt; em uma estrutura de diretórios hierárquica. Na definição clássica, um pacote é um diretório que contém um arquivo &lt;code&gt;__init__.py&lt;/code&gt; e um ou mais módulos (arquivos &lt;code&gt;.py&lt;/code&gt;). O &lt;code&gt;__init__.py&lt;/code&gt; sinaliza ao Python que aquele diretório deve ser tratado como um pacote e pode conter código de inicialização.&lt;/p&gt;&#xA;&lt;p&gt;Pacotes permitem criar namespaces hierárquicos: você pode ter &lt;code&gt;meu_app.models.usuario&lt;/code&gt; e &lt;code&gt;meu_app.models.produto&lt;/code&gt; sem conflito de nomes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python É Lento? Verdade Sobre Performance</title>
      <link>https://python.dev.br/perguntas/python-e-lento/</link>
      <pubDate>Fri, 05 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/perguntas/python-e-lento/</guid>
      <description>&lt;h2 id=&#34;python-é-lento&#34;&gt;Python é lento?&lt;/h2&gt;&#xA;&lt;p&gt;A resposta curta: sim, Python puro é mais lento que linguagens compiladas como C, &lt;a href=&#34;https://rustlang.com.br/&#34;&gt;Rust&lt;/a&gt;, &lt;a href=&#34;https://golang.com.br/&#34;&gt;Go&lt;/a&gt; e Java em benchmarks de computação pura. A resposta completa: isso raramente importa na prática, e existem técnicas para contornar as limitações de performance quando necessário.&lt;/p&gt;&#xA;&lt;h2 id=&#34;por-que-python-é-mais-lento&#34;&gt;Por que Python é mais lento?&lt;/h2&gt;&#xA;&lt;h3 id=&#34;interpretação-vs-compilação&#34;&gt;Interpretação vs compilação&lt;/h3&gt;&#xA;&lt;p&gt;Python é uma linguagem interpretada. O interpretador CPython lê e executa o código linha por linha, enquanto linguagens compiladas convertem todo o código em instruções de máquina antes da execução. Essa diferença fundamental resulta em execução mais lenta.&lt;/p&gt;</description>
    </item>
    <item>
      <title>API com FastAPI: Guia Completo</title>
      <link>https://python.dev.br/guias/criando-api-fastapi/</link>
      <pubDate>Thu, 04 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/guias/criando-api-fastapi/</guid>
      <description>&lt;h2 id=&#34;introdução&#34;&gt;Introdução&lt;/h2&gt;&#xA;&lt;p&gt;FastAPI é um framework moderno para criar APIs em Python, conhecido por sua velocidade, validação automática e documentação interativa gerada automaticamente. Criado por Sebastián Ramírez, ele combina type hints do Python com Pydantic para oferecer uma experiência de desenvolvimento produtiva e segura.&lt;/p&gt;&#xA;&lt;p&gt;Neste guia, vamos criar uma API RESTful completa com FastAPI, cobrindo rotas, validação, banco de dados e autenticação.&lt;/p&gt;&#xA;&lt;h2 id=&#34;por-que-fastapi&#34;&gt;Por que FastAPI?&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Desempenho&lt;/strong&gt;: tão rápido quanto Node.js e Go, graças ao suporte assíncrono nativo&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Validação automática&lt;/strong&gt;: usa type hints e Pydantic para validar dados de entrada e saída&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Documentação automática&lt;/strong&gt;: gera Swagger UI e ReDoc sem configuração adicional&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Editor friendly&lt;/strong&gt;: autocompletar funciona perfeitamente por causa dos type hints&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;instalação&#34;&gt;Instalação&lt;/h2&gt;&#xA;&lt;p&gt;Crie um ambiente virtual e instale o FastAPI:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Celery: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/celery/</link>
      <pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/celery/</guid>
      <description>&lt;h2 id=&#34;o-que-e-celery&#34;&gt;O que e Celery?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Celery&lt;/strong&gt; e uma fila de tarefas distribuida (distributed task queue) para Python. Ela permite executar operacoes demoradas em segundo plano, fora do fluxo principal da aplicacao. Em vez de fazer o usuario esperar pelo envio de um email, processamento de uma imagem ou geracao de um relatorio, voce envia a tarefa para o Celery, que a executa de forma assincrona em um processo separado (worker).&lt;/p&gt;&#xA;&lt;p&gt;O Celery usa um &lt;strong&gt;broker de mensagens&lt;/strong&gt; (como Redis ou RabbitMQ) para intermediar a comunicacao entre a aplicacao que envia tarefas e os workers que as executam. Opcionalmente, um &lt;strong&gt;backend de resultado&lt;/strong&gt; armazena os retornos das tarefas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Diferenças Entre Python 2 e Python 3</title>
      <link>https://python.dev.br/perguntas/diferenca-python2-python3/</link>
      <pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/perguntas/diferenca-python2-python3/</guid>
      <description>&lt;h2 id=&#34;quais-as-diferenças-entre-python-2-e-python-3&#34;&gt;Quais as diferenças entre Python 2 e Python 3?&lt;/h2&gt;&#xA;&lt;p&gt;Python 3 é a versão atual e ativa da linguagem, enquanto Python 2 foi oficialmente descontinuado em 1 de janeiro de 2020. Se você está começando a programar, use Python 3 sem hesitação. Este artigo existe para ajudar quem encontra código antigo em Python 2 ou precisa entender as diferenças por contexto histórico.&lt;/p&gt;&#xA;&lt;h2 id=&#34;breve-histórico&#34;&gt;Breve histórico&lt;/h2&gt;&#xA;&lt;p&gt;Python 3.0 foi lançado em dezembro de 2008, mas a transição foi lenta porque Python 3 não era compatível com Python 2. Muitas bibliotecas importantes demoraram anos para se adaptar. A Python Software Foundation manteve o Python 2 em paralelo até 2020, dando à comunidade mais de uma década para migrar.&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>Linters Python: Flake8, Black e Ruff</title>
      <link>https://python.dev.br/guias/configurando-linters-python/</link>
      <pubDate>Tue, 02 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/guias/configurando-linters-python/</guid>
      <description>&lt;h2 id=&#34;introdução&#34;&gt;Introdução&lt;/h2&gt;&#xA;&lt;p&gt;Linters e formatadores são ferramentas que analisam seu código Python e garantem que ele siga padrões de qualidade e estilo. Eles detectam erros, inconsistências e problemas de legibilidade automaticamente, antes mesmo de rodar o código.&lt;/p&gt;&#xA;&lt;p&gt;Neste guia, vamos configurar as três ferramentas mais populares: Flake8 (linter), Black (formatador) e Ruff (que substitui ambos com velocidade superior).&lt;/p&gt;&#xA;&lt;h2 id=&#34;o-que-é-o-pep-8&#34;&gt;O que é o PEP 8?&lt;/h2&gt;&#xA;&lt;p&gt;O PEP 8 é o guia oficial de estilo para código Python. Ele define regras como:&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>Python Para Crianças: Vale a Pena?</title>
      <link>https://python.dev.br/perguntas/python-para-criancas/</link>
      <pubDate>Mon, 01 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/perguntas/python-para-criancas/</guid>
      <description>&lt;h2 id=&#34;python-é-bom-para-crianças-aprenderem-a-programar&#34;&gt;Python é bom para crianças aprenderem a programar?&lt;/h2&gt;&#xA;&lt;p&gt;Python é considerada uma das melhores linguagens para introduzir crianças ao mundo da programação. Sua sintaxe simples e legível, combinada com a capacidade de criar projetos visuais e divertidos, torna o aprendizado envolvente e gratificante para jovens estudantes.&lt;/p&gt;&#xA;&lt;h2 id=&#34;por-que-python-para-crianças&#34;&gt;Por que Python para crianças?&lt;/h2&gt;&#xA;&lt;h3 id=&#34;sintaxe-próxima-do-inglês&#34;&gt;Sintaxe próxima do inglês&lt;/h3&gt;&#xA;&lt;p&gt;A sintaxe do Python se assemelha ao inglês natural, o que facilita a compreensão por crianças que estão aprendendo a lógica de programação:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Git para Desenvolvedores Python: Guia</title>
      <link>https://python.dev.br/guias/python-e-git-iniciantes/</link>
      <pubDate>Sun, 30 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/guias/python-e-git-iniciantes/</guid>
      <description>&lt;h2 id=&#34;introdução&#34;&gt;Introdução&lt;/h2&gt;&#xA;&lt;p&gt;Git é o sistema de controle de versão mais usado no mundo. Ele registra cada alteração no seu código, permite colaborar com outros desenvolvedores e facilita reverter mudanças que causaram problemas. Para quem programa em Python, saber usar Git é tão importante quanto conhecer a linguagem em si.&lt;/p&gt;&#xA;&lt;p&gt;Neste guia, vamos aprender Git do zero com foco em projetos Python, cobrindo desde os comandos básicos até o fluxo de trabalho com GitHub.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python É Seguro? Segurança da Linguagem</title>
      <link>https://python.dev.br/perguntas/python-e-seguro/</link>
      <pubDate>Sat, 29 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/perguntas/python-e-seguro/</guid>
      <description>&lt;h2 id=&#34;python-é-seguro&#34;&gt;Python é seguro?&lt;/h2&gt;&#xA;&lt;p&gt;Python, como qualquer linguagem de programação, não é inerentemente segura ou insegura. A segurança depende de como o desenvolvedor escreve o código e configura a aplicação. Dito isso, Python oferece um ecossistema robusto de ferramentas e bibliotecas para construir aplicações seguras, e é usado em áreas onde segurança é crítica, como sistemas financeiros e governamentais.&lt;/p&gt;&#xA;&lt;h2 id=&#34;segurança-da-linguagem-em-si&#34;&gt;Segurança da linguagem em si&lt;/h2&gt;&#xA;&lt;p&gt;O interpretador CPython é mantido por uma equipe dedicada que trata vulnerabilidades com seriedade. O ciclo de suporte de 5 anos para cada versão garante que correções de segurança sejam disponibilizadas regularmente.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Argparse: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/argparse/</link>
      <pubDate>Fri, 28 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/argparse/</guid>
      <description>&lt;h2 id=&#34;o-que-e-argparse&#34;&gt;O que e Argparse?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Argparse&lt;/strong&gt; e o modulo da biblioteca padrao do Python para criar interfaces de linha de comando (CLI). Ele permite definir quais argumentos o programa aceita, gerar mensagens de ajuda automaticamente, validar entradas do usuario e converter tipos de dados. Com argparse, voce transforma scripts simples em ferramentas profissionais de linha de comando.&lt;/p&gt;&#xA;&lt;p&gt;Embora existam bibliotecas de terceiros como Click e Typer que oferecem APIs mais modernas, argparse nao requer instalacao adicional e e suficiente para a maioria dos casos de uso.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Poetry para Python: Guia Completo</title>
      <link>https://python.dev.br/guias/configurando-poetry/</link>
      <pubDate>Fri, 28 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/guias/configurando-poetry/</guid>
      <description>&lt;h2 id=&#34;introdução&#34;&gt;Introdução&lt;/h2&gt;&#xA;&lt;p&gt;O Poetry é um gerenciador moderno de dependências e empacotamento para Python. Ele resolve problemas que o pip e o requirements.txt não tratam bem, como resolução de conflitos entre versões de bibliotecas, separação de dependências de desenvolvimento e criação de ambientes virtuais automáticos.&lt;/p&gt;&#xA;&lt;p&gt;Neste guia, vamos instalar o Poetry, criar projetos, gerenciar dependências e entender por que ele se tornou a ferramenta preferida de muitos desenvolvedores Python.&lt;/p&gt;&#xA;&lt;h2 id=&#34;por-que-usar-poetry-em-vez-de-pip&#34;&gt;Por que usar Poetry em vez de pip?&lt;/h2&gt;&#xA;&lt;p&gt;O pip com &lt;code&gt;requirements.txt&lt;/code&gt; funciona, mas tem limitações:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Como Conseguir Emprego com Python?</title>
      <link>https://python.dev.br/perguntas/como-conseguir-emprego-python/</link>
      <pubDate>Thu, 27 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/perguntas/como-conseguir-emprego-python/</guid>
      <description>&lt;h2 id=&#34;como-conseguir-um-emprego-programando-python&#34;&gt;Como conseguir um emprego programando Python?&lt;/h2&gt;&#xA;&lt;p&gt;O mercado para desenvolvedores Python no Brasil está aquecido, com vagas em desenvolvimento web, ciência de dados, automação e inteligência artificial. Mas ter conhecimento técnico sozinho não garante uma vaga. Você precisa de uma estratégia que combine habilidades técnicas, portfólio, networking e preparação para entrevistas.&lt;/p&gt;&#xA;&lt;h2 id=&#34;defina-sua-área-de-atuação&#34;&gt;Defina sua área de atuação&lt;/h2&gt;&#xA;&lt;p&gt;Python é usado em diversas áreas, e cada uma tem requisitos diferentes:&lt;/p&gt;&#xA;&lt;h3 id=&#34;desenvolvedor-backend&#34;&gt;Desenvolvedor Backend&lt;/h3&gt;&#xA;&lt;p&gt;Requisitos principais:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Virtual Environments em Python: Guia Completo</title>
      <link>https://python.dev.br/guias/criando-virtual-environment/</link>
      <pubDate>Wed, 26 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/guias/criando-virtual-environment/</guid>
      <description>&lt;h2 id=&#34;introdução&#34;&gt;Introdução&lt;/h2&gt;&#xA;&lt;p&gt;Ambientes virtuais são uma das ferramentas mais importantes do ecossistema Python. Eles permitem isolar as dependências de cada projeto, evitando conflitos entre bibliotecas e garantindo que cada aplicação tenha exatamente as versões necessárias.&lt;/p&gt;&#xA;&lt;p&gt;Sem ambientes virtuais, todas as bibliotecas são instaladas globalmente, o que causa problemas quando dois projetos precisam de versões diferentes da mesma biblioteca. Neste guia, vamos entender por que ambientes virtuais são essenciais e como usá-los no dia a dia.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python ou Java: Qual Escolher?</title>
      <link>https://python.dev.br/perguntas/python-ou-java/</link>
      <pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/perguntas/python-ou-java/</guid>
      <description>&lt;h2 id=&#34;python-ou-java-qual-linguagem-escolher&#34;&gt;Python ou Java: qual linguagem escolher?&lt;/h2&gt;&#xA;&lt;p&gt;Python e Java são duas das linguagens mais populares do mundo, mas com filosofias bem diferentes. Python prioriza simplicidade e velocidade de desenvolvimento. Java prioriza robustez, performance e tipagem estática. Vamos analisar cada aspecto para ajudar na sua decisão.&lt;/p&gt;&#xA;&lt;h2 id=&#34;diferenças-de-sintaxe&#34;&gt;Diferenças de sintaxe&lt;/h2&gt;&#xA;&lt;p&gt;A diferença mais visível está na quantidade de código necessário para fazer a mesma coisa:&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;# Python: ler arquivo e contar palavras&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;with&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;open&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;texto.txt&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;as&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;arquivo&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;conteudo&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;arquivo&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;read&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;palavras&lt;/span&gt; &lt;span class=&#34;o&#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;conteudo&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;split&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;Total de palavras: &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;palavras&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;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Java: mesma tarefa&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nn&#34;&gt;java.io.IOException&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nn&#34;&gt;java.nio.file.Files&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nn&#34;&gt;java.nio.file.Path&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;public&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nc&#34;&gt;ContadorPalavras&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;public&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;static&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;void&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;main&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;String&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;[]&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;args&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;throws&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;IOException&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;        &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;String&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;conteudo&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Files&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;readString&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Path&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;of&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;texto.txt&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;        &lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;long&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;palavras&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;conteudo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;split&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;\\s+&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;).&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;length&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;        &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;System&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;out&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;printf&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Total de palavras: %d%n&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;palavras&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Python exige menos código, não precisa de classes obrigatórias, não requer declaração de tipos e é executado diretamente sem compilação. Java exige estrutura formal com classes, método &lt;code&gt;main&lt;/code&gt;, imports explícitos e compilação antes da execução.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Deploy Django em VPS: Guia Completo</title>
      <link>https://python.dev.br/guias/deploy-django-vps/</link>
      <pubDate>Mon, 24 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/guias/deploy-django-vps/</guid>
      <description>&lt;h2 id=&#34;introdução&#34;&gt;Introdução&lt;/h2&gt;&#xA;&lt;p&gt;Fazer o deploy de uma aplicação Django em um servidor VPS (Virtual Private Server) oferece controle total sobre a infraestrutura e geralmente é mais econômico que plataformas como Heroku ou Railway para projetos em produção.&lt;/p&gt;&#xA;&lt;p&gt;Neste guia, vamos configurar um servidor VPS completo com Ubuntu, PostgreSQL, Gunicorn e Nginx, incluindo certificado HTTPS gratuito com Let&amp;rsquo;s Encrypt.&lt;/p&gt;&#xA;&lt;h2 id=&#34;pré-requisitos&#34;&gt;Pré-requisitos&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Um servidor VPS com Ubuntu 22.04 ou superior (DigitalOcean, Linode, Vultr, etc.)&lt;/li&gt;&#xA;&lt;li&gt;Um domínio apontando para o IP do servidor&lt;/li&gt;&#xA;&lt;li&gt;Acesso SSH ao servidor&lt;/li&gt;&#xA;&lt;li&gt;Um projeto Django funcional localmente&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;preparando-o-servidor&#34;&gt;Preparando o servidor&lt;/h2&gt;&#xA;&lt;p&gt;Conecte-se ao servidor via SSH:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Qual Versão do Python Devo Usar?</title>
      <link>https://python.dev.br/perguntas/qual-versao-python-usar/</link>
      <pubDate>Sun, 23 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/perguntas/qual-versao-python-usar/</guid>
      <description>&lt;h2 id=&#34;qual-versão-do-python-devo-usar&#34;&gt;Qual versão do Python devo usar?&lt;/h2&gt;&#xA;&lt;p&gt;A recomendação para 2025 e 2026 é usar &lt;strong&gt;Python 3.12&lt;/strong&gt; ou &lt;strong&gt;Python 3.13&lt;/strong&gt;. Ambas são versões estáveis, com suporte ativo e compatíveis com a grande maioria das bibliotecas do ecossistema.&lt;/p&gt;&#xA;&lt;p&gt;Se você está começando agora, instale a versão mais recente disponível (Python 3.13). Se está mantendo um projeto existente, use a versão mais recente que seja compatível com todas as suas dependências.&lt;/p&gt;&#xA;&lt;h2 id=&#34;nunca-use-python-2&#34;&gt;Nunca use Python 2&lt;/h2&gt;&#xA;&lt;p&gt;Python 2 foi oficialmente descontinuado em 1 de janeiro de 2020. Ele não recebe mais atualizações de segurança e a maioria das bibliotecas modernas não oferece suporte. Se você encontrar tutoriais que usam &lt;code&gt;print &amp;quot;texto&amp;quot;&lt;/code&gt; (sem parênteses), saiba que é código Python 2 e deve ser evitado.&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>Testes com pytest: Guia Completo</title>
      <link>https://python.dev.br/guias/testes-com-pytest/</link>
      <pubDate>Sat, 22 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/guias/testes-com-pytest/</guid>
      <description>&lt;h2 id=&#34;introdução&#34;&gt;Introdução&lt;/h2&gt;&#xA;&lt;p&gt;Testar código é uma das habilidades mais importantes para qualquer desenvolvedor Python. O pytest é o framework de testes mais popular do ecossistema Python, usado por projetos como Django, Flask e Requests. Ele é simples para começar e poderoso o suficiente para projetos complexos.&lt;/p&gt;&#xA;&lt;p&gt;Neste guia, vamos aprender pytest do básico ao avançado, cobrindo fixtures, parametrize, mocking e cobertura de testes.&lt;/p&gt;&#xA;&lt;h2 id=&#34;instalação&#34;&gt;Instalação&lt;/h2&gt;&#xA;&lt;p&gt;Crie um ambiente virtual e instale o pytest:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python É Bom Para Ciência de Dados?</title>
      <link>https://python.dev.br/perguntas/python-e-bom-para-dados/</link>
      <pubDate>Fri, 21 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/perguntas/python-e-bom-para-dados/</guid>
      <description>&lt;h2 id=&#34;python-é-bom-para-ciência-de-dados&#34;&gt;Python é bom para ciência de dados?&lt;/h2&gt;&#xA;&lt;p&gt;Python não é apenas bom para ciência de dados, é a linguagem dominante na área. Segundo pesquisas do Kaggle e do Stack Overflow, mais de 80% dos profissionais de dados usam Python como sua linguagem principal. Essa popularidade não é por acaso.&lt;/p&gt;&#xA;&lt;h2 id=&#34;por-que-python-domina-a-ciência-de-dados&#34;&gt;Por que Python domina a ciência de dados&lt;/h2&gt;&#xA;&lt;h3 id=&#34;ecossistema-de-bibliotecas-incomparável&#34;&gt;Ecossistema de bibliotecas incomparável&lt;/h3&gt;&#xA;&lt;p&gt;Python tem o ecossistema mais completo e maduro para trabalhar com dados:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Docker para Python: Guia Completo</title>
      <link>https://python.dev.br/guias/configurando-docker-python/</link>
      <pubDate>Thu, 20 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/guias/configurando-docker-python/</guid>
      <description>&lt;h2 id=&#34;introdução&#34;&gt;Introdução&lt;/h2&gt;&#xA;&lt;p&gt;Docker é uma ferramenta que permite empacotar sua aplicação Python junto com todas as suas dependências em um container isolado. Isso garante que o código funcione da mesma forma no seu computador, no servidor de produção e na máquina de qualquer colega de equipe.&lt;/p&gt;&#xA;&lt;p&gt;Neste guia, vamos configurar Docker para projetos Python, criar Dockerfiles otimizados e usar docker-compose para aplicações com múltiplos serviços.&lt;/p&gt;&#xA;&lt;h2 id=&#34;pré-requisitos&#34;&gt;Pré-requisitos&lt;/h2&gt;&#xA;&lt;p&gt;Instale o Docker Desktop no seu sistema operacional:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Módulo Python: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/modulo/</link>
      <pubDate>Thu, 20 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/modulo/</guid>
      <description>&lt;h2 id=&#34;o-que-é-um-módulo&#34;&gt;O que é um Módulo?&lt;/h2&gt;&#xA;&lt;p&gt;Um &lt;strong&gt;módulo&lt;/strong&gt; em Python é simplesmente um &lt;strong&gt;arquivo &lt;code&gt;.py&lt;/code&gt;&lt;/strong&gt; que contém código Python — funções, classes, variáveis e instruções executáveis. Módulos são a unidade básica de organização e reutilização de código na linguagem.&lt;/p&gt;&#xA;&lt;p&gt;Ao importar um módulo, o Python executa o arquivo inteiro uma vez e armazena o resultado em memória, disponibilizando seu conteúdo com um namespace específico. A biblioteca padrão do Python inclui mais de 200 módulos prontos, o que originou a frase &lt;strong&gt;&amp;ldquo;Python vem com baterias incluídas&amp;rdquo;&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python Serve Para Desenvolvimento Web?</title>
      <link>https://python.dev.br/perguntas/python-serve-para-web/</link>
      <pubDate>Wed, 19 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/perguntas/python-serve-para-web/</guid>
      <description>&lt;h2 id=&#34;python-serve-para-desenvolvimento-web&#34;&gt;Python serve para desenvolvimento web?&lt;/h2&gt;&#xA;&lt;p&gt;Sim, Python é amplamente utilizado no desenvolvimento web e é uma das linguagens mais populares para construir aplicações web no mundo todo. Empresas como Instagram, Pinterest, Spotify, Dropbox e Netflix usam Python em suas infraestruturas web.&lt;/p&gt;&#xA;&lt;h2 id=&#34;como-python-é-usado-na-web&#34;&gt;Como Python é usado na web&lt;/h2&gt;&#xA;&lt;p&gt;Python é utilizado principalmente no &lt;strong&gt;backend&lt;/strong&gt; (lado do servidor) das aplicações web. O backend é responsável por processar dados, acessar bancos de dados, autenticar usuários e enviar respostas para o navegador do usuário.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Publicando Pacote no PyPI: Guia Completo</title>
      <link>https://python.dev.br/guias/publicando-pacote-pypi/</link>
      <pubDate>Tue, 18 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/guias/publicando-pacote-pypi/</guid>
      <description>&lt;h2 id=&#34;introdução&#34;&gt;Introdução&lt;/h2&gt;&#xA;&lt;p&gt;O PyPI (Python Package Index) é o repositório oficial de pacotes Python. Quando você executa &lt;code&gt;pip install nome-do-pacote&lt;/code&gt;, o pip baixa o pacote diretamente do PyPI. Publicar seu próprio pacote permite que outros desenvolvedores reutilizem seu código facilmente.&lt;/p&gt;&#xA;&lt;p&gt;Neste guia, vamos criar um pacote Python completo, testá-lo no TestPyPI e publicá-lo no PyPI oficial.&lt;/p&gt;&#xA;&lt;h2 id=&#34;pré-requisitos&#34;&gt;Pré-requisitos&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Python 3.10 ou superior&lt;/li&gt;&#xA;&lt;li&gt;Uma conta no &lt;a href=&#34;https://pypi.org/&#34;&gt;pypi.org&lt;/a&gt; e no &lt;a href=&#34;https://test.pypi.org/&#34;&gt;test.pypi.org&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Conhecimento básico de estrutura de projetos Python&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;estrutura-do-projeto&#34;&gt;Estrutura do projeto&lt;/h2&gt;&#xA;&lt;p&gt;Vamos criar um pacote simples chamado &lt;code&gt;calculabr&lt;/code&gt; que formata números no padrão brasileiro:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Quanto Tempo Para Aprender Python?</title>
      <link>https://python.dev.br/perguntas/quanto-tempo-aprender-python/</link>
      <pubDate>Mon, 17 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/perguntas/quanto-tempo-aprender-python/</guid>
      <description>&lt;h2 id=&#34;quanto-tempo-leva-para-aprender-python&#34;&gt;Quanto tempo leva para aprender Python?&lt;/h2&gt;&#xA;&lt;p&gt;A resposta direta é: depende do seu objetivo e da sua dedicação. Mas vamos ser mais específicos e traçar cronogramas realistas para diferentes níveis de conhecimento.&lt;/p&gt;&#xA;&lt;h2 id=&#34;aprendendo-o-básico-2-a-4-semanas&#34;&gt;Aprendendo o básico: 2 a 4 semanas&lt;/h2&gt;&#xA;&lt;p&gt;Com 1 a 2 horas de estudo diário, você pode aprender os fundamentos de Python em duas a quatro semanas. Isso inclui:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Variáveis e tipos de dados (strings, inteiros, floats, booleanos)&lt;/li&gt;&#xA;&lt;li&gt;Operadores aritméticos e lógicos&lt;/li&gt;&#xA;&lt;li&gt;Estruturas condicionais (&lt;code&gt;if&lt;/code&gt;, &lt;code&gt;elif&lt;/code&gt;, &lt;code&gt;else&lt;/code&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Loops (&lt;code&gt;for&lt;/code&gt;, &lt;code&gt;while&lt;/code&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Funções&lt;/li&gt;&#xA;&lt;li&gt;Listas, dicionários, tuplas e conjuntos&lt;/li&gt;&#xA;&lt;li&gt;Entrada e saída de dados&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 de programa basico que você criaria nessa fase&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;calcular_media&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;&#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;if&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;not&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;notas&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;mi&#34;&gt;0&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;nb&#34;&gt;sum&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;o&#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;notas&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;notas&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;while&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;n&#34;&gt;entrada&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Digite uma nota (ou &amp;#39;fim&amp;#39; para encerrar): &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;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;entrada&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;fim&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;break&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;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;float&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;entrada&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;media&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;calcular_media&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;&#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;A media das notas e: &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;media&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;.1f&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;p&gt;Ao final dessa fase, você consegue criar scripts simples, resolver problemas lógicos básicos e entender código Python escrito por outros.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Jupyter Notebook: Configuração Completa</title>
      <link>https://python.dev.br/guias/configurando-jupyter-notebook/</link>
      <pubDate>Sun, 16 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/guias/configurando-jupyter-notebook/</guid>
      <description>&lt;h2 id=&#34;introdução&#34;&gt;Introdução&lt;/h2&gt;&#xA;&lt;p&gt;O Jupyter Notebook é uma ferramenta essencial para cientistas de dados, pesquisadores e estudantes de Python. Ele permite escrever código, visualizar gráficos e documentar análises em um único documento interativo que mistura células de código com texto formatado em Markdown.&lt;/p&gt;&#xA;&lt;p&gt;Neste guia, vamos instalar o Jupyter Notebook, configurar o JupyterLab (sua versão mais moderna), aprender atalhos e explorar extensões que aumentam a produtividade.&lt;/p&gt;&#xA;&lt;h2 id=&#34;jupyter-notebook-vs-jupyterlab&#34;&gt;Jupyter Notebook vs JupyterLab&lt;/h2&gt;&#xA;&lt;p&gt;O &lt;strong&gt;Jupyter Notebook&lt;/strong&gt; é a interface clássica, focada em um único documento por vez. O &lt;strong&gt;JupyterLab&lt;/strong&gt; é a evolução, oferecendo uma interface completa com múltiplas abas, terminal integrado, visualizador de arquivos e muito mais.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python ou JavaScript: Qual Aprender?</title>
      <link>https://python.dev.br/perguntas/python-ou-javascript/</link>
      <pubDate>Sat, 15 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/perguntas/python-ou-javascript/</guid>
      <description>&lt;h2 id=&#34;python-ou-javascript-qual-linguagem-aprender-primeiro&#34;&gt;Python ou JavaScript: qual linguagem aprender primeiro?&lt;/h2&gt;&#xA;&lt;p&gt;Esta é uma das perguntas mais comuns entre quem está começando a programar. Ambas são linguagens populares, versáteis e com grande demanda no mercado de trabalho. A resposta depende dos seus objetivos, mas vamos analisar cada aspecto para ajudar na decisão.&lt;/p&gt;&#xA;&lt;h2 id=&#34;facilidade-de-aprendizado&#34;&gt;Facilidade de aprendizado&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Python&lt;/strong&gt; é amplamente considerada a linguagem mais fácil de aprender. Sua sintaxe é limpa, usa indentação para definir blocos de código (em vez de chaves) e se aproxima do inglês natural:&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>SQLAlchemy: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/sqlalchemy/</link>
      <pubDate>Sat, 15 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/sqlalchemy/</guid>
      <description>&lt;h2 id=&#34;o-que-e-sqlalchemy&#34;&gt;O que e SQLAlchemy?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;SQLAlchemy&lt;/strong&gt; e a biblioteca de banco de dados mais popular e poderosa do ecossistema Python. Ela oferece duas interfaces: o &lt;strong&gt;Core&lt;/strong&gt;, que fornece uma camada de abstracao SQL expressiva, e o &lt;strong&gt;ORM&lt;/strong&gt; (Object-Relational Mapping), que permite mapear tabelas do banco de dados para classes Python. Com SQLAlchemy, voce trabalha com objetos Python em vez de escrever SQL bruto, mantendo ao mesmo tempo controle total sobre as consultas geradas.&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>Primeiro Projeto Flask: Guia Completo</title>
      <link>https://python.dev.br/guias/primeiro-projeto-flask/</link>
      <pubDate>Fri, 14 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/guias/primeiro-projeto-flask/</guid>
      <description>&lt;h2 id=&#34;introdução&#34;&gt;Introdução&lt;/h2&gt;&#xA;&lt;p&gt;Flask é um microframework web para Python, conhecido por sua simplicidade e flexibilidade. Diferente do Django, que vem com muitas funcionalidades embutidas, o Flask oferece o mínimo necessário e permite que você escolha as bibliotecas para cada necessidade do projeto.&lt;/p&gt;&#xA;&lt;p&gt;Empresas como Netflix, LinkedIn e Uber usam Flask em partes de suas aplicações. Neste guia, vamos criar uma aplicação web completa do zero usando Flask.&lt;/p&gt;&#xA;&lt;h2 id=&#34;pré-requisitos&#34;&gt;Pré-requisitos&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Python 3.10 ou superior&lt;/li&gt;&#xA;&lt;li&gt;Conhecimento básico de HTML&lt;/li&gt;&#xA;&lt;li&gt;Familiaridade com o terminal&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;configurando-o-ambiente&#34;&gt;Configurando o ambiente&lt;/h2&gt;&#xA;&lt;p&gt;Crie uma pasta para o projeto e configure o ambiente virtual:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Primeiro Projeto Django: Guia Completo</title>
      <link>https://python.dev.br/guias/primeiro-projeto-django/</link>
      <pubDate>Wed, 12 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/guias/primeiro-projeto-django/</guid>
      <description>&lt;h2 id=&#34;introdução&#34;&gt;Introdução&lt;/h2&gt;&#xA;&lt;p&gt;Django é o framework web mais popular do Python. Usado por empresas como Instagram, Pinterest e Disqus, ele segue a filosofia &amp;ldquo;baterias incluídas&amp;rdquo; — oferecendo ORM, sistema de autenticação, painel administrativo e muito mais prontos para uso.&lt;/p&gt;&#xA;&lt;p&gt;Neste guia, vamos criar um projeto Django completo do zero: uma aplicação simples de lista de tarefas. Ao final, você terá um projeto funcional rodando no seu computador.&lt;/p&gt;&#xA;&lt;h2 id=&#34;pré-requisitos&#34;&gt;Pré-requisitos&lt;/h2&gt;&#xA;&lt;p&gt;Antes de começar, certifique-se de ter:&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>PyCharm para Python: Configuração Completa</title>
      <link>https://python.dev.br/guias/configurando-pycharm/</link>
      <pubDate>Mon, 10 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/guias/configurando-pycharm/</guid>
      <description>&lt;h2 id=&#34;introdução&#34;&gt;Introdução&lt;/h2&gt;&#xA;&lt;p&gt;O PyCharm, desenvolvido pela JetBrains, é uma das IDEs mais completas para desenvolvimento Python. Diferente de editores mais leves como o VS Code, o PyCharm já vem com ferramentas integradas de debugging, refatoração, testes e suporte a frameworks como Django e Flask sem precisar de extensões adicionais.&lt;/p&gt;&#xA;&lt;p&gt;Neste guia, vamos configurar o PyCharm do zero, explorar suas funcionalidades principais e aprender atalhos que aceleram o dia a dia de quem programa em Python.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Encapsulamento em Python: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/encapsulamento/</link>
      <pubDate>Sat, 08 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/encapsulamento/</guid>
      <description>&lt;h2 id=&#34;o-que-é-encapsulamento&#34;&gt;O que é Encapsulamento?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Encapsulamento&lt;/strong&gt; é o princípio da POO que consiste em &lt;strong&gt;esconder os detalhes internos&lt;/strong&gt; de uma classe e expor apenas o que é necessário. Isso protege os dados de modificações indevidas e permite alterar a implementação interna sem afetar quem usa a classe.&lt;/p&gt;&#xA;&lt;p&gt;Em Python, o encapsulamento é feito por &lt;strong&gt;convenção&lt;/strong&gt;, não por restrição obrigatória da linguagem. A filosofia Python é &amp;ldquo;somos todos adultos responsáveis&amp;rdquo; — os mecanismos de proteção servem como sinalização, não como barreiras intransponíveis.&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;&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>BeautifulSoup: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/beautifulsoup/</link>
      <pubDate>Wed, 05 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/beautifulsoup/</guid>
      <description>&lt;h2 id=&#34;o-que-e-beautifulsoup&#34;&gt;O que e BeautifulSoup?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;BeautifulSoup&lt;/strong&gt; e uma biblioteca Python para parsing (analise sintatica) de documentos HTML e XML. Ela cria uma arvore de navegacao que permite buscar, navegar e extrair dados de paginas web de forma simples e intuitiva. BeautifulSoup e a ferramenta mais popular para &lt;strong&gt;web scraping&lt;/strong&gt; em Python — a pratica de extrair dados de sites automaticamente.&lt;/p&gt;&#xA;&lt;p&gt;A biblioteca nao faz requisicoes HTTP por conta propria. Ela trabalha em conjunto com bibliotecas como &lt;code&gt;requests&lt;/code&gt; para obter o HTML e entao analisa-lo e extrai as informacoes desejadas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>VS Code para Python: Configuração Completa</title>
      <link>https://python.dev.br/guias/configurando-vscode-para-python/</link>
      <pubDate>Sun, 02 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/guias/configurando-vscode-para-python/</guid>
      <description>&lt;h2 id=&#34;introdução&#34;&gt;Introdução&lt;/h2&gt;&#xA;&lt;p&gt;O Visual Studio Code (VS Code) é o editor de código mais popular entre desenvolvedores Python. Gratuito, leve e altamente extensível, ele oferece uma experiência de desenvolvimento completa quando configurado corretamente.&lt;/p&gt;&#xA;&lt;p&gt;Neste guia, vamos configurar o VS Code do zero para Python, incluindo extensões essenciais, debugging, linting, formatação automática e atalhos úteis.&lt;/p&gt;&#xA;&lt;h2 id=&#34;instalando-o-vs-code&#34;&gt;Instalando o VS Code&lt;/h2&gt;&#xA;&lt;h3 id=&#34;download&#34;&gt;Download&lt;/h3&gt;&#xA;&lt;p&gt;Acesse &lt;a href=&#34;https://code.visualstudio.com/&#34;&gt;code.visualstudio.com&lt;/a&gt; e baixe a versão para seu sistema operacional. A instalação é simples — siga o assistente padrão.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Docker: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/docker/</link>
      <pubDate>Wed, 22 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/docker/</guid>
      <description>&lt;h2 id=&#34;o-que-e-docker&#34;&gt;O que e Docker?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Docker&lt;/strong&gt; e uma plataforma de containerizacao que permite empacotar uma aplicacao junto com todas as suas dependencias em um &lt;strong&gt;container&lt;/strong&gt; — uma unidade leve, portatil e isolada que funciona de forma identica em qualquer ambiente. Para desenvolvedores Python, Docker resolve o classico problema &amp;ldquo;funciona na minha maquina&amp;rdquo; ao garantir que a aplicacao roda com a mesma versao de Python, as mesmas bibliotecas e as mesmas configuracoes em desenvolvimento, testes e producao.&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>Polimorfismo em Python: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/polimorfismo/</link>
      <pubDate>Wed, 22 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/polimorfismo/</guid>
      <description>&lt;h2 id=&#34;o-que-é-polimorfismo&#34;&gt;O que é Polimorfismo?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Polimorfismo&lt;/strong&gt; significa &amp;ldquo;muitas formas&amp;rdquo; e é a capacidade de objetos diferentes &lt;strong&gt;responderem à mesma mensagem&lt;/strong&gt; (método) de maneiras distintas. Em Python, o polimorfismo é natural graças ao &lt;strong&gt;duck typing&lt;/strong&gt;: &amp;ldquo;se anda como um pato e faz quack como um pato, então é um pato&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;Existem três formas principais de polimorfismo em Python: polimorfismo ad-hoc (sobrecarga de operadores), polimorfismo paramétrico (generics/type hints) e polimorfismo de subtipo (herança e Protocols).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Instalando Python no macOS: Tutorial</title>
      <link>https://python.dev.br/guias/instalando-python-mac/</link>
      <pubDate>Sat, 18 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/guias/instalando-python-mac/</guid>
      <description>&lt;h2 id=&#34;introdução&#34;&gt;Introdução&lt;/h2&gt;&#xA;&lt;p&gt;O macOS vem com uma versão do Python pré-instalada, mas geralmente é uma versão antiga ou o runtime fornecido pela Apple, que não deve ser usado para desenvolvimento. Neste tutorial, vamos instalar uma versão atualizada do Python no seu Mac.&lt;/p&gt;&#xA;&lt;p&gt;Este guia funciona tanto para Macs com processadores Apple Silicon (M1, M2, M3, M4) quanto Intel.&lt;/p&gt;&#xA;&lt;h2 id=&#34;verificando-o-estado-atual&#34;&gt;Verificando o estado atual&lt;/h2&gt;&#xA;&lt;p&gt;Abra o Terminal (pressione &lt;code&gt;Cmd + Espaço&lt;/code&gt;, digite &amp;ldquo;Terminal&amp;rdquo; e pressione Enter) e verifique:&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>Instalando Python no Linux: Guia Completo</title>
      <link>https://python.dev.br/guias/instalando-python-linux/</link>
      <pubDate>Sun, 12 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/guias/instalando-python-linux/</guid>
      <description>&lt;h2 id=&#34;introdução&#34;&gt;Introdução&lt;/h2&gt;&#xA;&lt;p&gt;A maioria das distribuições Linux já vem com Python pré-instalado. Porém, nem sempre é a versão mais recente. Neste guia, vamos cobrir todas as formas de instalar ou atualizar Python no Linux, desde o gerenciador de pacotes até a compilação do código-fonte.&lt;/p&gt;&#xA;&lt;h2 id=&#34;verificando-a-versão-atual&#34;&gt;Verificando a versão atual&lt;/h2&gt;&#xA;&lt;p&gt;Antes de instalar, verifique se já tem Python no sistema:&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;python3 --version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Se o comando retornar uma versão como &lt;code&gt;Python 3.10.x&lt;/code&gt; ou superior, você já tem Python instalado. Dependendo da sua necessidade, pode ser suficiente.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Regex: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/regex/</link>
      <pubDate>Wed, 08 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/regex/</guid>
      <description>&lt;h2 id=&#34;o-que-e-regex&#34;&gt;O que e Regex?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Regex&lt;/strong&gt; (expressao regular) e uma sequencia de caracteres que define um padrao de busca em texto. Em Python, expressoes regulares sao manipuladas pelo modulo embutido &lt;code&gt;re&lt;/code&gt;. Elas sao uma ferramenta poderosa para validacao de dados, busca de padroes, extracao de informacoes e substituicao de texto. Embora a sintaxe possa parecer intimidadora no inicio, dominar regex e uma habilidade valiosa para qualquer programador.&lt;/p&gt;&#xA;&lt;h2 id=&#34;funcoes-principais-do-modulo-re&#34;&gt;Funcoes Principais do Modulo re&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;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;re&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;texto&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Meu telefone e (11) 98765-4321 e meu email e ana@python.dev.br&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;# re.search — encontra a PRIMEIRA ocorrencia&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;match&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;re&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;search&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;\d&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{5}&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;-\d&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{4}&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;texto&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;if&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;match&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;k&#34;&gt;match&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;group&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;())&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# 98765-4321&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;k&#34;&gt;match&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;start&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;())&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# posicao inicial&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;k&#34;&gt;match&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;end&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;())&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;# posicao 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;&#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;# re.findall — encontra TODAS as ocorrencias&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;n&#34;&gt;re&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;findall&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;\d+&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;texto&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;numeros&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# [&amp;#39;11&amp;#39;, &amp;#39;98765&amp;#39;, &amp;#39;4321&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;# re.finditer — retorna iterador de objetos Match&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;m&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;re&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;finditer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;\d+&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;texto&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;s1&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;m&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;group&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;s1&#34;&gt; na posicao &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;m&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;start&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;s1&#34;&gt;&amp;#39;&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;# re.match — verifica apenas o INICIO da string&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;resultado&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;re&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;match&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Meu&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;texto&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;resultado&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;group&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;())&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# &amp;#39;Meu&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;# re.fullmatch — verifica se a string INTEIRA corresponde&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;re&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;fullmatch&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;\d+&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;12345&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;# Match&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;re&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;fullmatch&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;\d+&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;123abc&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# None&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;# re.sub — substituicao&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;censurado&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;re&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sub&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;\d&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;*&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;texto&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;censurado&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# &amp;#39;Meu telefone e (**) *****-**** e meu email e ana@python.dev.br&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;# re.split — dividir por padrao&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;partes&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;re&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;split&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;[,;\s]+&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;um, dois; tres    quatro&amp;#39;&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;partes&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# [&amp;#39;um&amp;#39;, &amp;#39;dois&amp;#39;, &amp;#39;tres&amp;#39;, &amp;#39;quatro&amp;#39;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;metacaracteres-essenciais&#34;&gt;Metacaracteres Essenciais&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;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;re&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;# . — qualquer caractere (exceto nova linha)&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;re&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;findall&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;P..hon&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Python Pithon Pothon&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# [&amp;#39;Python&amp;#39;, &amp;#39;Pithon&amp;#39;, &amp;#39;Pothon&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;# \d — digito, \D — nao-digito&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;# \w — alfanumerico + _, \W — nao-alfanumerico&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;# \s — espaco em branco, \S — nao-espaco&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;# ^ — inicio da string, $ — final da string&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;re&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;search&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;^\d+&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;123abc&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;# Match &amp;#39;123&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;&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;re&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;search&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;\d+$&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;abc123&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;# Match &amp;#39;123&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;# Quantificadores&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;# * — zero ou mais&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;# + — um ou mais&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;# ? — zero ou um&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;# {n} — exatamente n&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;# {n,m} — de n a m&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;re&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;findall&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;\d{2,4}&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;a1 bc23 def456 ghij7890&amp;#39;&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;23&amp;#39;, &amp;#39;456&amp;#39;, &amp;#39;7890&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;# Quantificadores preguicosos (lazy) vs gananciosos (greedy)&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;html&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;lt;b&amp;gt;negrito&amp;lt;/b&amp;gt; e &amp;lt;i&amp;gt;italico&amp;lt;/i&amp;gt;&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;&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;re&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;findall&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;lt;.*&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;html&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;# [&amp;#39;&amp;lt;b&amp;gt;negrito&amp;lt;/b&amp;gt; e &amp;lt;i&amp;gt;italico&amp;lt;/i&amp;gt;&amp;#39;] — ganancioso&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;re&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;findall&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;lt;.*?&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;html&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;# [&amp;#39;&amp;lt;b&amp;gt;&amp;#39;, &amp;#39;&amp;lt;/b&amp;gt;&amp;#39;, &amp;#39;&amp;lt;i&amp;gt;&amp;#39;, &amp;#39;&amp;lt;/i&amp;gt;&amp;#39;] — preguicoso&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;classes-de-caracteres&#34;&gt;Classes de Caracteres&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;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;re&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;# Colchetes definem classes de caracteres&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;re&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;findall&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;[aeiou]&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Python Brasil&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# vogais minusculas&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;re&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;findall&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;[A-Z]&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Python Brasil&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;# letras maiusculas&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;re&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;findall&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;[0-9a-f]+&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;cor: #ff5733&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# hexadecimais&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;# Negacao com ^&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;re&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;findall&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;[^0-9]&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;abc123&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# [&amp;#39;a&amp;#39;, &amp;#39;b&amp;#39;, &amp;#39;c&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;# Alternativa com |&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;re&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;findall&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;gato|cachorro&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Tenho um gato e um cachorro&amp;#39;&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;h2 id=&#34;grupos-de-captura&#34;&gt;Grupos de Captura&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;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;re&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;# Grupos com parenteses&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;texto&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Nome: Ana Silva, Idade: 28&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;&lt;span class=&#34;k&#34;&gt;match&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;re&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;search&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Nome: (\w+ \w+), Idade: (\d+)&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;texto&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;if&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;match&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;k&#34;&gt;match&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;group&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;# &amp;#39;Nome: Ana Silva, Idade: 28&amp;#39; — match completo&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;k&#34;&gt;match&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;group&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;c1&#34;&gt;# &amp;#39;Ana Silva&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;    &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;k&#34;&gt;match&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;group&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;# &amp;#39;28&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;    &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;k&#34;&gt;match&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;groups&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;())&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# (&amp;#39;Ana Silva&amp;#39;, &amp;#39;28&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;# Grupos nomeados&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;padrao&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;sa&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;(?P&amp;lt;nome&amp;gt;\w+ \w+).*?(?P&amp;lt;idade&amp;gt;\d+)&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;&lt;span class=&#34;k&#34;&gt;match&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;re&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;search&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;padrao&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;texto&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;if&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;match&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;k&#34;&gt;match&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;group&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;c1&#34;&gt;# &amp;#39;Ana Silva&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;    &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;k&#34;&gt;match&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;group&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;idade&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# &amp;#39;28&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;    &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;k&#34;&gt;match&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;groupdict&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;())&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;# {&amp;#39;nome&amp;#39;: &amp;#39;Ana Silva&amp;#39;, &amp;#39;idade&amp;#39;: &amp;#39;28&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;# Grupo nao-capturante&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;resultado&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;re&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;findall&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;(?:https?://)?(\w+\.com\.br)&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Acesse https://python.com.br&amp;#39;&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;resultado&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# [&amp;#39;python.com.br&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;# Backreference&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;duplicadas&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;re&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;findall&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;\b(\w+)\s+\1\b&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;o o gato gato sentou&amp;#39;&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;duplicadas&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# [&amp;#39;o&amp;#39;, &amp;#39;gato&amp;#39;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;compilacao-de-padroes&#34;&gt;Compilacao de Padroes&lt;/h2&gt;&#xA;&lt;p&gt;Para padroes usados repetidamente, compile-os para melhor desempenho.&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>Herança em Python: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/heranca/</link>
      <pubDate>Sun, 05 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/heranca/</guid>
      <description>&lt;h2 id=&#34;o-que-é-herança&#34;&gt;O que é Herança?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Herança&lt;/strong&gt; é um dos pilares da Programação Orientada a Objetos que permite que uma classe &lt;strong&gt;herde atributos e métodos&lt;/strong&gt; de outra classe. A classe que herda é chamada de &lt;strong&gt;classe filha&lt;/strong&gt; (ou subclasse), e a classe da qual se herda é a &lt;strong&gt;classe pai&lt;/strong&gt; (ou superclasse).&lt;/p&gt;&#xA;&lt;p&gt;Isso promove a &lt;strong&gt;reutilização de código&lt;/strong&gt; e estabelece relações hierárquicas entre classes. Herança deve modelar uma relação clara de &amp;ldquo;é um&amp;rdquo;: um &lt;code&gt;Cachorro&lt;/code&gt; &lt;strong&gt;é um&lt;/strong&gt; &lt;code&gt;Animal&lt;/code&gt;. Se a relação for &amp;ldquo;tem um&amp;rdquo;, prefira composição.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Instalando Python no Windows: Passo a Passo</title>
      <link>https://python.dev.br/guias/instalando-python-windows/</link>
      <pubDate>Sun, 05 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/guias/instalando-python-windows/</guid>
      <description>&lt;h2 id=&#34;introdução&#34;&gt;Introdução&lt;/h2&gt;&#xA;&lt;p&gt;Instalar Python no Windows é um processo simples, mas alguns detalhes fazem toda a diferença — especialmente a configuração do PATH. Neste guia, vamos cobrir tudo que você precisa para ter o Python funcionando perfeitamente no seu computador Windows.&lt;/p&gt;&#xA;&lt;p&gt;Este tutorial funciona para Windows 10 e Windows 11.&lt;/p&gt;&#xA;&lt;h2 id=&#34;pré-requisitos&#34;&gt;Pré-requisitos&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Um computador com Windows 10 ou 11 (64 bits)&lt;/li&gt;&#xA;&lt;li&gt;Conexão com a internet&lt;/li&gt;&#xA;&lt;li&gt;Permissão de administrador para instalar programas&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;método-1-instalador-oficial-recomendado&#34;&gt;Método 1: Instalador oficial (recomendado)&lt;/h2&gt;&#xA;&lt;h3 id=&#34;passo-1--baixar-o-instalador&#34;&gt;Passo 1 — Baixar o instalador&lt;/h3&gt;&#xA;&lt;p&gt;Acesse o site oficial do Python em &lt;a href=&#34;https://www.python.org/downloads/&#34;&gt;python.org/downloads&lt;/a&gt;. A página detecta automaticamente seu sistema operacional e oferece o botão de download para a versão mais recente.&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>Classe em Python: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/classe/</link>
      <pubDate>Thu, 18 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/classe/</guid>
      <description>&lt;h2 id=&#34;o-que-é-uma-classe&#34;&gt;O que é uma Classe?&lt;/h2&gt;&#xA;&lt;p&gt;Uma &lt;strong&gt;classe&lt;/strong&gt; é um molde (ou blueprint) para criar objetos em Python. Ela define &lt;strong&gt;atributos&lt;/strong&gt; (dados) e &lt;strong&gt;métodos&lt;/strong&gt; (comportamentos) que os objetos criados a partir dela terão. Classes são a base da &lt;strong&gt;Programação Orientada a Objetos (POO)&lt;/strong&gt; e, em Python, absolutamente tudo é um objeto — inclusive inteiros, strings e funções.&lt;/p&gt;&#xA;&lt;p&gt;Entender classes em profundidade é fundamental para escrever código Python idiomático, legível e fácil de manter.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Set: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/set/</link>
      <pubDate>Thu, 18 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/set/</guid>
      <description>&lt;h2 id=&#34;o-que-e-um-set&#34;&gt;O que e um Set?&lt;/h2&gt;&#xA;&lt;p&gt;Um &lt;strong&gt;set&lt;/strong&gt; (conjunto) em Python e uma colecao &lt;strong&gt;nao ordenada&lt;/strong&gt; de elementos &lt;strong&gt;unicos&lt;/strong&gt; e &lt;strong&gt;hashaveis&lt;/strong&gt;. Sets sao inspirados diretamente na teoria de conjuntos da matematica e oferecem operacoes como uniao, intersecao, diferenca e diferenca simetrica. A principal vantagem dos sets e a &lt;strong&gt;busca em tempo constante&lt;/strong&gt; O(1) — verificar se um elemento pertence a um set e extremamente rapido, independente do tamanho da colecao.&lt;/p&gt;&#xA;&lt;p&gt;Internamente, sets usam tabelas hash, a mesma estrutura que dicionarios usam para suas chaves. Por isso, os elementos de um set devem ser &lt;strong&gt;hashaveis&lt;/strong&gt; (imutaveis), como numeros, strings e tuplas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python É Difícil? Verdade sobre Aprender</title>
      <link>https://python.dev.br/perguntas/python-e-dificil-de-aprender/</link>
      <pubDate>Mon, 15 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/perguntas/python-e-dificil-de-aprender/</guid>
      <description>&lt;h2 id=&#34;python-é-difícil-de-aprender&#34;&gt;Python é difícil de aprender?&lt;/h2&gt;&#xA;&lt;p&gt;A resposta curta é: &lt;strong&gt;não&lt;/strong&gt;. Python é considerada uma das linguagens de programação mais fáceis de aprender no mundo. Mas &amp;ldquo;fácil&amp;rdquo; não significa que você vai dominar tudo em uma semana — significa que a barreira de entrada é menor do que a maioria das outras linguagens.&lt;/p&gt;&#xA;&lt;p&gt;Vamos entender por que Python é acessível e o que esperar na jornada de aprendizado.&lt;/p&gt;&#xA;&lt;h2 id=&#34;por-que-python-é-considerada-fácil&#34;&gt;Por que Python é considerada fácil?&lt;/h2&gt;&#xA;&lt;h3 id=&#34;sintaxe-limpa-e-legível&#34;&gt;Sintaxe limpa e legível&lt;/h3&gt;&#xA;&lt;p&gt;Python foi projetada desde o início para ser legível. Compare um simples loop em Python com Java:&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>CSV: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/csv/</link>
      <pubDate>Fri, 05 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/csv/</guid>
      <description>&lt;h2 id=&#34;o-que-e-csv&#34;&gt;O que e CSV?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;CSV&lt;/strong&gt; (Comma-Separated Values) e um formato de arquivo simples para armazenar dados tabulares em texto puro. Cada linha representa um registro e os campos sao separados por um delimitador — geralmente virgula, mas pode ser ponto-e-virgula, tab ou outro caractere. CSV e amplamente usado para importacao e exportacao de dados entre sistemas, planilhas e bancos de dados.&lt;/p&gt;&#xA;&lt;p&gt;Python possui o modulo embutido &lt;code&gt;csv&lt;/code&gt; que facilita a leitura e escrita de arquivos CSV, tratando automaticamente casos especiais como campos com virgulas, quebras de linha e aspas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tupla em Python: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/tupla/</link>
      <pubDate>Tue, 02 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/tupla/</guid>
      <description>&lt;h2 id=&#34;o-que-é-uma-tupla&#34;&gt;O que é uma Tupla?&lt;/h2&gt;&#xA;&lt;p&gt;Uma &lt;strong&gt;tupla&lt;/strong&gt; é uma estrutura de dados &lt;strong&gt;imutável&lt;/strong&gt; e &lt;strong&gt;ordenada&lt;/strong&gt; em Python. Ela funciona de forma similar a uma lista, mas uma vez criada, seus valores &lt;strong&gt;não podem ser alterados&lt;/strong&gt;. Tuplas são definidas usando parênteses &lt;code&gt;()&lt;/code&gt; ou simplesmente separando valores por vírgulas — os parênteses são opcionais na maioria dos contextos.&lt;/p&gt;&#xA;&lt;p&gt;A imutabilidade não é uma limitação acidental: é uma garantia intencional que transmite a intenção de que aqueles dados formam um registro fixo, como uma coordenada, uma configuração ou o retorno de uma função.&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>Git: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/git/</link>
      <pubDate>Thu, 28 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/git/</guid>
      <description>&lt;h2 id=&#34;o-que-e-git&#34;&gt;O que e Git?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Git&lt;/strong&gt; e um sistema de controle de versao distribuido que permite rastrear alteracoes em arquivos, colaborar com outros desenvolvedores e manter um historico completo de cada modificacao em um projeto. Para desenvolvedores Python, Git e uma ferramenta essencial — praticamente todo projeto open-source, biblioteca e framework usa Git para gerenciar seu codigo-fonte. Plataformas como GitHub, GitLab e Bitbucket sao construidas sobre o Git.&lt;/p&gt;&#xA;&lt;p&gt;Git foi criado por Linus Torvalds em 2005 e se tornou o padrao da industria para controle de versao, substituindo ferramentas anteriores como SVN e Mercurial na maioria dos projetos.&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>Dicionário Python: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/dicionario/</link>
      <pubDate>Wed, 20 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/dicionario/</guid>
      <description>&lt;h2 id=&#34;o-que-é-um-dicionário-em-python&#34;&gt;O que é um Dicionário em Python?&lt;/h2&gt;&#xA;&lt;p&gt;Um &lt;strong&gt;dicionário&lt;/strong&gt; (&lt;code&gt;dict&lt;/code&gt;) é uma estrutura de dados que armazena pares de &lt;strong&gt;chave-valor&lt;/strong&gt;. É uma das estruturas mais utilizadas em Python e funciona como uma tabela de consulta rápida — você busca um valor pela sua chave em tempo constante.&lt;/p&gt;&#xA;&lt;p&gt;Dicionários são &lt;strong&gt;mutáveis&lt;/strong&gt;, &lt;strong&gt;ordenados&lt;/strong&gt; (mantêm a ordem de inserção a partir do Python 3.7) e não permitem &lt;strong&gt;chaves duplicadas&lt;/strong&gt;. São tão fundamentais que o próprio interpretador Python os usa internamente para armazenar variáveis locais, atributos de objetos e namespaces de módulos.&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>API REST: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/api-rest/</link>
      <pubDate>Tue, 12 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/api-rest/</guid>
      <description>&lt;h2 id=&#34;o-que-é-uma-api-rest&#34;&gt;O que é uma API REST?&lt;/h2&gt;&#xA;&lt;p&gt;Uma &lt;strong&gt;API REST&lt;/strong&gt; (Representational State Transfer) é um estilo de arquitetura para comunicação entre sistemas via &lt;strong&gt;protocolo HTTP&lt;/strong&gt;. O termo foi definido por &lt;strong&gt;Roy Fielding&lt;/strong&gt; em sua tese de doutorado em 2000, descrevendo um conjunto de restrições que, quando aplicadas, resultam em sistemas escaláveis, simples e interoperáveis.&lt;/p&gt;&#xA;&lt;p&gt;APIs REST são o padrão mais usado para comunicação entre frontend e backend, aplicações mobile, microsserviços e integrações entre sistemas.&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>Loop: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/loop/</link>
      <pubDate>Tue, 12 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/loop/</guid>
      <description>&lt;h2 id=&#34;o-que-e-um-loop&#34;&gt;O que e um Loop?&lt;/h2&gt;&#xA;&lt;p&gt;Um &lt;strong&gt;loop&lt;/strong&gt; (laco de repeticao) em Python e uma estrutura de controle que executa um bloco de codigo repetidamente enquanto uma condicao for verdadeira ou enquanto houver elementos em um iteravel. Python oferece duas estruturas de loop: &lt;code&gt;for&lt;/code&gt; e &lt;code&gt;while&lt;/code&gt;. O loop &lt;code&gt;for&lt;/code&gt; e mais utilizado porque itera diretamente sobre elementos de uma sequencia, sem necessidade de gerenciar indices manualmente.&lt;/p&gt;&#xA;&lt;h2 id=&#34;loop-for&#34;&gt;Loop for&lt;/h2&gt;&#xA;&lt;p&gt;O &lt;code&gt;for&lt;/code&gt; em Python itera sobre qualquer objeto &lt;strong&gt;iteravel&lt;/strong&gt; — listas, tuplas, strings, dicionarios, conjuntos, arquivos, ranges e generators.&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>O que É Python? Linguagem Explicada</title>
      <link>https://python.dev.br/perguntas/o-que-e-python/</link>
      <pubDate>Sun, 10 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/perguntas/o-que-e-python/</guid>
      <description>&lt;h2 id=&#34;o-que-é-python&#34;&gt;O que é Python?&lt;/h2&gt;&#xA;&lt;p&gt;Python é uma linguagem de programação de alto nível, interpretada e de propósito geral. Isso significa que ela foi projetada para ser fácil de ler e escrever, executada por um interpretador (sem necessidade de compilação manual) e pode ser usada para praticamente qualquer tipo de projeto de software.&lt;/p&gt;&#xA;&lt;p&gt;Diferente de linguagens como C ou Java, o código Python se assemelha ao inglês em muitos aspectos, o que a torna uma das linguagens mais acessíveis para quem está começando a programar. Um simples programa &amp;ldquo;Olá, Mundo&amp;rdquo; em Python é apenas uma linha:&lt;/p&gt;</description>
    </item>
    <item>
      <title>f-strings em Python: O que São e Como Funcionam | Python Brasil</title>
      <link>https://python.dev.br/glossario/f-strings/</link>
      <pubDate>Tue, 05 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/f-strings/</guid>
      <description>&lt;h2 id=&#34;o-que-são-f-strings&#34;&gt;O que são f-strings?&lt;/h2&gt;&#xA;&lt;p&gt;As &lt;strong&gt;f-strings&lt;/strong&gt; (formatted string literals) são a forma mais moderna e eficiente de &lt;strong&gt;formatar strings&lt;/strong&gt; em Python. Introduzidas no Python 3.6 pela PEP 498, elas permitem inserir expressões Python diretamente dentro de strings usando chaves &lt;code&gt;{}&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Para criar uma f-string, basta colocar a letra &lt;code&gt;f&lt;/code&gt; (ou &lt;code&gt;F&lt;/code&gt;) antes das aspas. Tudo dentro de &lt;code&gt;{}&lt;/code&gt; é avaliado como código Python no momento da execução — não é apenas substituição de texto, é avaliação de expressões completas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pathlib: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/pathlib/</link>
      <pubDate>Tue, 05 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/pathlib/</guid>
      <description>&lt;h2 id=&#34;o-que-e-pathlib&#34;&gt;O que e Pathlib?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Pathlib&lt;/strong&gt; e o modulo da biblioteca padrao do Python (desde o Python 3.4) que oferece uma interface &lt;strong&gt;orientada a objetos&lt;/strong&gt; para manipulacao de caminhos de arquivos e diretorios. Em vez de trabalhar com strings e funcoes espalhadas pelo modulo &lt;code&gt;os.path&lt;/code&gt;, pathlib centraliza tudo na classe &lt;code&gt;Path&lt;/code&gt;, tornando o codigo mais legivel, seguro e Pythonico.&lt;/p&gt;&#xA;&lt;p&gt;A classe &lt;code&gt;Path&lt;/code&gt; automaticamente usa &lt;code&gt;PosixPath&lt;/code&gt; em sistemas Unix/macOS e &lt;code&gt;WindowsPath&lt;/code&gt; no Windows, lidando com as diferencas de separadores de caminho de forma transparente.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pillow: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/pillow/</link>
      <pubDate>Mon, 28 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/pillow/</guid>
      <description>&lt;h2 id=&#34;o-que-e-pillow&#34;&gt;O que e Pillow?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Pillow&lt;/strong&gt; e a biblioteca mais popular para processamento de imagens em Python. Ela e um fork moderno e ativamente mantido da PIL (Python Imaging Library) e suporta uma ampla variedade de formatos de imagem, incluindo JPEG, PNG, GIF, TIFF, BMP e WebP. Com Pillow, voce pode abrir, manipular, transformar e salvar imagens de forma programatica.&lt;/p&gt;&#xA;&lt;p&gt;Pillow e usada em aplicacoes web para redimensionar imagens de upload, gerar thumbnails, aplicar marcas dagua, converter entre formatos e criar graficos simples.&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>JSON: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/json/</link>
      <pubDate>Sun, 20 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/json/</guid>
      <description>&lt;h2 id=&#34;o-que-e-json&#34;&gt;O que e JSON?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;JSON&lt;/strong&gt; (JavaScript Object Notation) e um formato leve de troca de dados, facil de ler e escrever para humanos e simples de interpretar e gerar para maquinas. Apesar do nome fazer referencia a JavaScript, JSON e independente de linguagem e se tornou o formato padrao para comunicacao entre APIs, arquivos de configuracao e armazenamento de dados estruturados.&lt;/p&gt;&#xA;&lt;p&gt;Python possui o modulo embutido &lt;code&gt;json&lt;/code&gt; que oferece suporte completo para codificar (serializar) objetos Python em strings JSON e decodificar (deserializar) strings JSON em objetos Python.&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>Type Hints: O que São e Como Funcionam | Python Brasil</title>
      <link>https://python.dev.br/glossario/type-hints/</link>
      <pubDate>Sun, 20 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/type-hints/</guid>
      <description>&lt;h2 id=&#34;o-que-são-type-hints&#34;&gt;O que são Type Hints?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Type hints&lt;/strong&gt; (dicas de tipo) são anotações que indicam os &lt;strong&gt;tipos esperados&lt;/strong&gt; de variáveis, parâmetros e retornos de funções em Python. Introduzidos no Python 3.5 (PEP 484), eles não alteram o comportamento do código em tempo de execução — o Python continua sendo uma linguagem de tipagem dinâmica — mas habilitam a &lt;strong&gt;detecção estática de bugs&lt;/strong&gt; por ferramentas como mypy e pyright, além de melhorar enormemente o autocompletar em editores como VS Code e PyCharm.&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>Funcao: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/funcao/</link>
      <pubDate>Sat, 05 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/funcao/</guid>
      <description>&lt;h2 id=&#34;o-que-e-uma-funcao&#34;&gt;O que e uma Funcao?&lt;/h2&gt;&#xA;&lt;p&gt;Uma &lt;strong&gt;funcao&lt;/strong&gt; em Python e um bloco de codigo reutilizavel que executa uma tarefa especifica. Funcoes sao a principal ferramenta de &lt;strong&gt;abstracao&lt;/strong&gt; e &lt;strong&gt;organizacao&lt;/strong&gt; da linguagem, permitindo dividir programas complexos em partes menores, mais legiveis e mais faceis de manter. Em Python, funcoes sao definidas com a palavra-chave &lt;code&gt;def&lt;/code&gt; e sao objetos de primeira classe, o que significa que podem ser atribuidas a variaveis, passadas como argumentos e retornadas por outras funcoes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>pytest: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/pytest/</link>
      <pubDate>Thu, 03 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/pytest/</guid>
      <description>&lt;h2 id=&#34;o-que-é-pytest&#34;&gt;O que é pytest?&lt;/h2&gt;&#xA;&lt;p&gt;O &lt;strong&gt;pytest&lt;/strong&gt; é o &lt;strong&gt;framework de testes mais popular&lt;/strong&gt; do Python. Ele torna a escrita de testes simples e intuitiva, sem a necessidade de classes ou boilerplate excessivo. Com pytest, você escreve testes usando funções simples e a palavra-chave &lt;code&gt;assert&lt;/code&gt;, enquanto o framework se encarrega de encontrar, executar e reportar os resultados.&lt;/p&gt;&#xA;&lt;h2 id=&#34;por-que-pytest-em-vez-de-unittest&#34;&gt;Por que pytest em vez de unittest?&lt;/h2&gt;&#xA;&lt;p&gt;O &lt;code&gt;unittest&lt;/code&gt;, que vem embutido no Python, exige herança de classes e métodos específicos. O pytest é muito mais &lt;strong&gt;conciso e expressivo&lt;/strong&gt;, com mensagens de falha detalhadas, descoberta automática de testes e um ecossistema rico de plugins.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Machine Learning: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/machine-learning/</link>
      <pubDate>Mon, 30 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/machine-learning/</guid>
      <description>&lt;h2 id=&#34;o-que-é-machine-learning&#34;&gt;O que é Machine Learning?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Machine learning&lt;/strong&gt; (aprendizado de máquina) é um ramo da inteligência artificial em que algoritmos &lt;strong&gt;aprendem padrões a partir de dados&lt;/strong&gt; sem serem explicitamente programados para cada regra. Em vez de escrever &lt;code&gt;if temperatura &amp;gt; 38: febre = True&lt;/code&gt;, um modelo de ML aprende essa relação observando milhares de exemplos.&lt;/p&gt;&#xA;&lt;p&gt;Python domina o cenário de machine learning graças ao ecossistema de bibliotecas maduro e à comunidade ativa. Empresas como Google, Netflix, Spotify e iFood usam Python extensivamente em seus sistemas de ML em produção.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Condicional: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/condicional/</link>
      <pubDate>Wed, 25 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/condicional/</guid>
      <description>&lt;h2 id=&#34;o-que-e-um-condicional&#34;&gt;O que e um Condicional?&lt;/h2&gt;&#xA;&lt;p&gt;Um &lt;strong&gt;condicional&lt;/strong&gt; em Python e uma estrutura de controle de fluxo que permite executar diferentes blocos de codigo com base em condicoes logicas. A estrutura principal e o &lt;code&gt;if/elif/else&lt;/code&gt;, que avalia expressoes booleanas e direciona a execucao do programa de acordo com o resultado. Condicionais sao fundamentais para criar programas que tomam decisoes e respondem de formas diferentes a situacoes variadas.&lt;/p&gt;&#xA;&lt;h2 id=&#34;estrutura-ifelifelse&#34;&gt;Estrutura if/elif/else&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;# if 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;idade&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;18&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;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;idade&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;18&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;s1&#34;&gt;&amp;#39;Maior de idade&amp;#39;&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;# if/else&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;temperatura&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;35&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;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;temperatura&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;30&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;s1&#34;&gt;&amp;#39;Esta quente&amp;#39;&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;else&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;s1&#34;&gt;&amp;#39;Temperatura agradavel&amp;#39;&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;# if/elif/else&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;nota&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;7.5&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;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;nota&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;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;conceito&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;A&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;&lt;span class=&#34;k&#34;&gt;elif&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;nota&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;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;&#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;conceito&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;B&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;&lt;span class=&#34;k&#34;&gt;elif&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;nota&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;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;conceito&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;C&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;&lt;span class=&#34;k&#34;&gt;else&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;conceito&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;D&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;&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;s1&#34;&gt;&amp;#39;Conceito: &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;conceito&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# Conceito: B&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;operadores-de-comparacao&#34;&gt;Operadores de Comparacao&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;n&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;b&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; &lt;span class=&#34;mi&#34;&gt;20&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;a&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;# False — igualdade&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;a&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;!=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;# True  — diferenca&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;a&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;# True  — menor que&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;a&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;# False — maior que&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;a&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;# True  — menor ou igual&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;a&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;# False — maior ou igual&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;# Comparacao encadeada (exclusividade do Python)&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;mi&#34;&gt;15&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;mi&#34;&gt;10&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;20&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;# True&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;mi&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;100&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;# True&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;operadores-logicos&#34;&gt;Operadores Logicos&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;n&#34;&gt;idade&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;25&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;renda&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3000&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;# and — ambas condicoes devem ser verdadeiras&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;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;idade&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;18&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;and&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;renda&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2000&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;s1&#34;&gt;&amp;#39;Elegivel para o credito&amp;#39;&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;# or — pelo menos uma condicao deve ser verdadeira&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;dia&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;sabado&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;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;dia&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;sabado&amp;#39;&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;or&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;dia&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;domingo&amp;#39;&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;s1&#34;&gt;&amp;#39;Fim de semana&amp;#39;&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;# not — inverte o valor logico&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;usuario_ativo&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;True&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;if&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;not&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;usuario_ativo&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;s1&#34;&gt;&amp;#39;Conta desativada&amp;#39;&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;# Combinando operadores&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;tem_ingresso&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;True&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;idade&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;16&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;acompanhado&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;True&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;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tem_ingresso&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;and&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;idade&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;18&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;or&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;acompanhado&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;s1&#34;&gt;&amp;#39;Entrada permitida&amp;#39;&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;h2 id=&#34;valores-truthy-e-falsy&#34;&gt;Valores Truthy e Falsy&lt;/h2&gt;&#xA;&lt;p&gt;Em Python, qualquer objeto pode ser avaliado como booleano. Valores considerados &lt;strong&gt;falsy&lt;/strong&gt; sao: &lt;code&gt;False&lt;/code&gt;, &lt;code&gt;None&lt;/code&gt;, &lt;code&gt;0&lt;/code&gt;, &lt;code&gt;0.0&lt;/code&gt;, &lt;code&gt;&#39;&#39;&lt;/code&gt; (string vazia), &lt;code&gt;[]&lt;/code&gt; (lista vazia), &lt;code&gt;{}&lt;/code&gt; (dict vazio), &lt;code&gt;set()&lt;/code&gt; e &lt;code&gt;()&lt;/code&gt; (tupla vazia). Todo o resto e &lt;strong&gt;truthy&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Requests: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/requests/</link>
      <pubDate>Wed, 18 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/requests/</guid>
      <description>&lt;h2 id=&#34;o-que-e-requests&#34;&gt;O que e Requests?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Requests&lt;/strong&gt; e a biblioteca HTTP mais popular do Python, projetada para tornar requisicoes web simples e elegantes. Com o lema &amp;ldquo;HTTP for Humans&amp;rdquo;, ela abstrai a complexidade do protocolo HTTP, oferecendo uma API intuitiva para enviar requisicoes GET, POST, PUT, DELETE e outros metodos. Requests e usada por milhoes de projetos para consumir APIs REST, fazer web scraping, automatizar interacoes com servicos web e muito mais.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Virtualenv: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/virtualenv/</link>
      <pubDate>Wed, 18 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/virtualenv/</guid>
      <description>&lt;h2 id=&#34;o-que-é-virtualenv&#34;&gt;O que é Virtualenv?&lt;/h2&gt;&#xA;&lt;p&gt;O &lt;strong&gt;virtualenv&lt;/strong&gt; (virtual environment) é uma ferramenta que cria &lt;strong&gt;ambientes Python completamente isolados&lt;/strong&gt; para cada projeto. Dentro de um ambiente virtual, você tem uma cópia independente do interpretador Python e um diretório exclusivo para instalar pacotes — sem interferir no Python do sistema operacional nem nos outros projetos da sua máquina.&lt;/p&gt;&#xA;&lt;p&gt;A partir do &lt;strong&gt;Python 3.3&lt;/strong&gt;, o módulo &lt;code&gt;venv&lt;/code&gt; foi incorporado à biblioteca padrão, tornando desnecessário instalar o virtualenv externamente na maioria dos casos. O &lt;code&gt;venv&lt;/code&gt; é a solução oficial e recomendada para a maioria dos projetos.&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>Lista: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/lista/</link>
      <pubDate>Tue, 10 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/lista/</guid>
      <description>&lt;h2 id=&#34;o-que-e-uma-lista&#34;&gt;O que e uma Lista?&lt;/h2&gt;&#xA;&lt;p&gt;Uma &lt;strong&gt;lista&lt;/strong&gt; em Python e uma estrutura de dados &lt;strong&gt;mutavel&lt;/strong&gt; e &lt;strong&gt;ordenada&lt;/strong&gt; que armazena uma colecao de itens. Listas sao provavelmente a estrutura de dados mais utilizada na linguagem. Elas podem conter elementos de qualquer tipo — inteiros, strings, outras listas, objetos — e o tamanho pode crescer ou diminuir dinamicamente conforme necessario.&lt;/p&gt;&#xA;&lt;p&gt;Listas sao representadas por colchetes &lt;code&gt;[]&lt;/code&gt; e seus elementos sao separados por virgulas. Internamente, o CPython implementa listas como arrays dinamicos de ponteiros, o que torna o acesso por indice uma operacao de tempo constante O(1).&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>Lambda em Python: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/lambda/</link>
      <pubDate>Sun, 01 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/lambda/</guid>
      <description>&lt;h2 id=&#34;o-que-é-lambda&#34;&gt;O que é Lambda?&lt;/h2&gt;&#xA;&lt;p&gt;Uma &lt;strong&gt;lambda&lt;/strong&gt; em Python é uma &lt;strong&gt;função anônima&lt;/strong&gt; — uma função sem nome — definida em uma única expressão. A palavra-chave &lt;code&gt;lambda&lt;/code&gt; cria um objeto de função sem precisar do bloco &lt;code&gt;def&lt;/code&gt;, tornando-a ideal para funções curtas usadas em um único lugar.&lt;/p&gt;&#xA;&lt;p&gt;A sintaxe completa é:&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;k&#34;&gt;lambda&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;parametros&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;expressao&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A expressao é avaliada e retornada automaticamente — não existe &lt;code&gt;return&lt;/code&gt; explícito. Lambda suporta todos os tipos de parâmetros que &lt;code&gt;def&lt;/code&gt; suporta: posicionais, com valor padrão, &lt;code&gt;*args&lt;/code&gt; e &lt;code&gt;**kwargs&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Anaconda: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/anaconda/</link>
      <pubDate>Wed, 28 May 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/anaconda/</guid>
      <description>&lt;h2 id=&#34;o-que-é-anaconda&#34;&gt;O que é Anaconda?&lt;/h2&gt;&#xA;&lt;p&gt;O &lt;strong&gt;Anaconda&lt;/strong&gt; é uma &lt;strong&gt;distribuição Python voltada para ciência de dados e computação científica&lt;/strong&gt;. Desenvolvida pela empresa Anaconda Inc. (antes Continuum Analytics), ela vem com mais de 250 pacotes pré-instalados — incluindo Pandas, NumPy, SciPy, Matplotlib, Jupyter e scikit-learn — e um gerenciador de pacotes próprio chamado &lt;strong&gt;conda&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;O grande diferencial do Anaconda em relação ao Python puro é que o conda gerencia não apenas pacotes Python, mas também &lt;strong&gt;dependências nativas&lt;/strong&gt; (bibliotecas C, C++, Fortran), resolvendo um dos maiores desafios de instalar pacotes científicos em diferentes sistemas operacionais.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Variavel: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/variavel/</link>
      <pubDate>Wed, 28 May 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/variavel/</guid>
      <description>&lt;h2 id=&#34;o-que-e-uma-variavel&#34;&gt;O que e uma Variavel?&lt;/h2&gt;&#xA;&lt;p&gt;Uma &lt;strong&gt;variavel&lt;/strong&gt; em Python e um nome que faz referencia a um objeto na memoria. Diferente de linguagens como C ou Java, onde variaveis sao &amp;ldquo;caixas&amp;rdquo; que armazenam valores, em Python variaveis sao &lt;strong&gt;rotulos&lt;/strong&gt; (labels) que apontam para objetos. Essa distincao e fundamental para entender o comportamento da linguagem, especialmente quando se trabalha com objetos mutaveis.&lt;/p&gt;&#xA;&lt;p&gt;Python utiliza &lt;strong&gt;tipagem dinamica&lt;/strong&gt;, o que significa que voce nao precisa declarar o tipo de uma variavel — o tipo e determinado automaticamente pelo valor atribuido e pode mudar ao longo da execucao do programa.&lt;/p&gt;</description>
    </item>
    <item>
      <title>String: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/string/</link>
      <pubDate>Tue, 20 May 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/string/</guid>
      <description>&lt;h2 id=&#34;o-que-é-uma-string&#34;&gt;O que é uma String?&lt;/h2&gt;&#xA;&lt;p&gt;Uma &lt;strong&gt;string&lt;/strong&gt; em Python e uma sequencia imutavel de caracteres usada para representar texto. Strings sao um dos tipos de dados mais fundamentais da linguagem e estao presentes em praticamente todo programa, desde a leitura de dados do usuario ate a construcao de respostas em APIs web.&lt;/p&gt;&#xA;&lt;p&gt;Em Python, strings sao objetos da classe &lt;code&gt;str&lt;/code&gt; e podem ser criadas com aspas simples, aspas duplas ou aspas triplas. A linguagem nao faz distincao entre aspas simples e duplas — a escolha e uma questao de estilo e conveniencia.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Generators em Python: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/generators/</link>
      <pubDate>Thu, 15 May 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/generators/</guid>
      <description>&lt;h2 id=&#34;o-que-são-generators&#34;&gt;O que são Generators?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Generators&lt;/strong&gt; são funções especiais em Python que produzem uma sequência de valores &lt;strong&gt;um de cada vez&lt;/strong&gt;, em vez de gerar tudo de uma só vez na memória. Eles usam a palavra-chave &lt;code&gt;yield&lt;/code&gt; no lugar de &lt;code&gt;return&lt;/code&gt; e implementam automaticamente o protocolo de iteração do Python.&lt;/p&gt;&#xA;&lt;p&gt;A grande característica dos generators é a &lt;strong&gt;avaliação preguiçosa&lt;/strong&gt; (lazy evaluation): os valores só são calculados quando solicitados. Isso os torna extremamente eficientes em termos de memória e indispensáveis para processar grandes volumes de dados.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Decorators em Python: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/decorators/</link>
      <pubDate>Fri, 02 May 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/decorators/</guid>
      <description>&lt;h2 id=&#34;o-que-são-decorators&#34;&gt;O que são Decorators?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Decorators&lt;/strong&gt; são uma forma elegante de &lt;strong&gt;modificar ou estender o comportamento de funções e classes&lt;/strong&gt; sem alterar seu código-fonte. Eles usam o símbolo &lt;code&gt;@&lt;/code&gt; e são um dos recursos mais poderosos e utilizados do Python.&lt;/p&gt;&#xA;&lt;p&gt;Se você já usou Flask ou Django, com certeza já viu decorators como &lt;code&gt;@app.route()&lt;/code&gt; ou &lt;code&gt;@login_required&lt;/code&gt;. Em código de produção eles aparecem em logging, autenticação, cache, retry, validação e muito mais.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Jupyter Notebook: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/jupyter-notebook/</link>
      <pubDate>Mon, 28 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/jupyter-notebook/</guid>
      <description>&lt;h2 id=&#34;o-que-é-jupyter-notebook&#34;&gt;O que é Jupyter Notebook?&lt;/h2&gt;&#xA;&lt;p&gt;O &lt;strong&gt;Jupyter Notebook&lt;/strong&gt; é um ambiente interativo baseado em navegador que permite criar documentos que combinam &lt;strong&gt;código executável&lt;/strong&gt;, &lt;strong&gt;visualizações&lt;/strong&gt;, &lt;strong&gt;texto formatado em Markdown&lt;/strong&gt; e &lt;strong&gt;equações matemáticas&lt;/strong&gt; — tudo em um único arquivo com extensão &lt;code&gt;.ipynb&lt;/code&gt; (IPython Notebook).&lt;/p&gt;&#xA;&lt;p&gt;O nome &amp;ldquo;Jupyter&amp;rdquo; é uma homenagem às três linguagens que o projeto suportou originalmente: &lt;strong&gt;Ju&lt;/strong&gt;lia, &lt;strong&gt;Py&lt;/strong&gt;thon e &lt;strong&gt;R&lt;/strong&gt;. Atualmente, o Jupyter suporta mais de 40 kernels para diferentes linguagens.&lt;/p&gt;</description>
    </item>
    <item>
      <title>List Comprehension em Python: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/list-comprehension/</link>
      <pubDate>Fri, 18 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/list-comprehension/</guid>
      <description>&lt;h2 id=&#34;o-que-é-list-comprehension&#34;&gt;O que é List Comprehension?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;List comprehension&lt;/strong&gt; é uma forma concisa e elegante de criar listas em Python. Em vez de usar loops tradicionais com &lt;code&gt;append()&lt;/code&gt;, você expressa a transformação e o filtro em uma única linha, tornando o código mais &lt;strong&gt;pythonico&lt;/strong&gt;, mais legível e geralmente mais rápido.&lt;/p&gt;&#xA;&lt;p&gt;É um dos recursos mais apreciados por desenvolvedores Python e está presente em praticamente todo projeto profissional — de scripts simples a bibliotecas como NumPy e Pandas, que se inspiraram nessa sintaxe.&lt;/p&gt;</description>
    </item>
    <item>
      <title>NumPy: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/numpy/</link>
      <pubDate>Sat, 05 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/numpy/</guid>
      <description>&lt;h2 id=&#34;o-que-é-numpy&#34;&gt;O que é NumPy?&lt;/h2&gt;&#xA;&lt;p&gt;O &lt;strong&gt;NumPy&lt;/strong&gt; (Numerical Python) é a &lt;strong&gt;biblioteca fundamental para computação numérica&lt;/strong&gt; em Python. Ela fornece suporte a arrays multidimensionais de alta performance e uma vasta coleção de funções matemáticas para operar sobre esses arrays de forma eficiente.&lt;/p&gt;&#xA;&lt;p&gt;Praticamente toda biblioteca de ciência de dados em Python — como Pandas, scikit-learn, SciPy e TensorFlow — é construída sobre o NumPy ou depende de suas estruturas de dados. Entender o NumPy é, portanto, um pré-requisito para trabalhar bem com o ecossistema científico do Python.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pandas: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/pandas/</link>
      <pubDate>Sat, 22 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/pandas/</guid>
      <description>&lt;h2 id=&#34;o-que-é-pandas&#34;&gt;O que é Pandas?&lt;/h2&gt;&#xA;&lt;p&gt;O &lt;strong&gt;Pandas&lt;/strong&gt; é a biblioteca mais popular do Python para &lt;strong&gt;análise e manipulação de dados&lt;/strong&gt;. Criada por Wes McKinney em 2008, ela oferece estruturas de dados poderosas e ferramentas para trabalhar com dados tabulares de forma rápida e intuitiva.&lt;/p&gt;&#xA;&lt;p&gt;O nome vem de &amp;ldquo;Panel Data&amp;rdquo;, um termo de econometria para conjuntos de dados multidimensionais. Hoje, o Pandas é indispensável para qualquer cientista de dados, analista ou engenheiro que trabalha com Python.&lt;/p&gt;</description>
    </item>
    <item>
      <title>FastAPI: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/fastapi/</link>
      <pubDate>Sat, 08 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/fastapi/</guid>
      <description>&lt;h2 id=&#34;o-que-é-fastapi&#34;&gt;O que é FastAPI?&lt;/h2&gt;&#xA;&lt;p&gt;O &lt;strong&gt;FastAPI&lt;/strong&gt; é um framework web moderno e de &lt;strong&gt;alta performance&lt;/strong&gt; para construir APIs com Python. Criado por &lt;strong&gt;Sebastián Ramírez&lt;/strong&gt; e lançado em 2018, ele se baseia em &lt;strong&gt;type hints&lt;/strong&gt; do Python e no &lt;strong&gt;Pydantic&lt;/strong&gt; para oferecer validação automática de dados, documentação interativa e desempenho comparável ao Node.js e &lt;a href=&#34;https://golang.com.br/&#34;&gt;Go&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;O FastAPI se tornou um dos projetos Python de crescimento mais rápido da história, sendo adotado por empresas como Microsoft, Uber, Netflix e Mercado Livre.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Flask: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/flask/</link>
      <pubDate>Thu, 20 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/flask/</guid>
      <description>&lt;h2 id=&#34;o-que-é-flask&#34;&gt;O que é Flask?&lt;/h2&gt;&#xA;&lt;p&gt;O &lt;strong&gt;Flask&lt;/strong&gt; é um &lt;strong&gt;microframework web&lt;/strong&gt; para Python, criado por &lt;strong&gt;Armin Ronacher&lt;/strong&gt; e lançado em 2010. Diferente do Django, o Flask segue uma filosofia minimalista: ele fornece apenas o essencial para criar aplicações web, deixando que você escolha as ferramentas e bibliotecas adicionais conforme a necessidade do seu projeto.&lt;/p&gt;&#xA;&lt;p&gt;O Flask é construído sobre duas bibliotecas principais: &lt;strong&gt;Werkzeug&lt;/strong&gt; (para WSGI e roteamento) e &lt;strong&gt;Jinja2&lt;/strong&gt; (para templates HTML). Juntas, elas formam uma base sólida e extensível.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Django: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/django/</link>
      <pubDate>Wed, 05 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/django/</guid>
      <description>&lt;h2 id=&#34;o-que-é-django&#34;&gt;O que é Django?&lt;/h2&gt;&#xA;&lt;p&gt;O &lt;strong&gt;Django&lt;/strong&gt; é um &lt;strong&gt;framework web de alto nível&lt;/strong&gt; escrito em Python que permite o desenvolvimento rápido e limpo de aplicações web. Ele segue o princípio &amp;ldquo;batteries included&amp;rdquo; — ou seja, já vem com tudo que você precisa para construir uma aplicação completa, sem depender de dezenas de bibliotecas externas.&lt;/p&gt;&#xA;&lt;p&gt;O lema do Django é &lt;strong&gt;&amp;ldquo;The web framework for perfectionists with deadlines&amp;rdquo;&lt;/strong&gt; (o framework web para perfeccionistas com prazos), e essa frase resume bem sua proposta: produtividade sem abrir mão da qualidade.&lt;/p&gt;</description>
    </item>
    <item>
      <title>pip: O que É e Como Funciona | Python Brasil</title>
      <link>https://python.dev.br/glossario/pip/</link>
      <pubDate>Sat, 25 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/glossario/pip/</guid>
      <description>&lt;h2 id=&#34;o-que-é-pip&#34;&gt;O que é pip?&lt;/h2&gt;&#xA;&lt;p&gt;O &lt;strong&gt;pip&lt;/strong&gt; (acrônimo recursivo de &amp;ldquo;pip installs packages&amp;rdquo;) é o &lt;strong&gt;gerenciador de pacotes oficial do Python&lt;/strong&gt;. Ele permite instalar, atualizar e remover bibliotecas disponíveis no &lt;strong&gt;PyPI&lt;/strong&gt; (Python Package Index), o repositório público em &lt;a href=&#34;https://pypi.org/&#34;&gt;pypi.org&lt;/a&gt; com mais de 500.000 pacotes.&lt;/p&gt;&#xA;&lt;p&gt;O pip foi criado por Ian Bicking em 2008 como substituto ao &lt;code&gt;easy_install&lt;/code&gt;, tornando-se a ferramenta padrão da comunidade. A partir do &lt;strong&gt;Python 3.4&lt;/strong&gt;, o pip é incluído automaticamente na instalação padrão da linguagem. Não é necessário instalar separadamente.&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>
