{"id":1196,"date":"2026-09-07T04:01:17","date_gmt":"2026-09-07T07:01:17","guid":{"rendered":"https:\/\/adrianosantostreina.com.br\/blog\/como-ia-muda-rotina-desenvolvimento-python\/"},"modified":"2026-09-07T04:01:23","modified_gmt":"2026-09-07T07:01:23","slug":"como-ia-muda-rotina-desenvolvimento-python","status":"publish","type":"post","link":"https:\/\/adrianosantostreina.com.br\/blog\/como-ia-muda-rotina-desenvolvimento-python\/","title":{"rendered":"O Script de Segunda-Feira: Como a IA Realmente Entrou na Rotina de Quem Programa em Python"},"content":{"rendered":"<p>S\u00e3o nove horas da manh\u00e3 de uma segunda-feira. Voc\u00ea abre o editor de c\u00f3digo para terminar aquele script de tratamento de dados que ficou pela metade na sexta-feira. \u00c9 um arquivo <code>.csv<\/code> exportado de um sistema legado, com colunas de datas em tr\u00eas formatos diferentes, valores num\u00e9ricos escritos como texto e algumas linhas completamente vazias no meio do arquivo. Voc\u00ea sabe exatamente o que precisa fazer: ler o arquivo, tratar as inconsist\u00eancias e gerar um relat\u00f3rio limpo. O problema n\u00e3o \u00e9 a l\u00f3gica \u2014 \u00e9 o tempo que essa tarefa mec\u00e2nica, repetitiva e chata vai consumir da sua manh\u00e3, tempo que poderia ir para o problema de verdade que o seu time precisa resolver.<\/p>\n<p>Esse tipo de cen\u00e1rio se repete todos os dias na vida de quem desenvolve em <a href=\"https:\/\/br.hubspot.com\/blog\/marketing\/o-que-e-python\" target=\"_blank\" rel=\"noopener\">Python<\/a>, uma das linguagens de programa\u00e7\u00e3o mais usadas do mundo, conhecida pela sintaxe simples e pela enorme quantidade de bibliotecas prontas para praticamente qualquer tarefa. E \u00e9 exatamente nesse tipo de tarefa \u2014 repetitiva, previs\u00edvel, mas trabalhosa \u2014 que a intelig\u00eancia artificial (IA) tem mudado o dia a dia de quem programa. Neste artigo, voc\u00ea vai entender, de forma b\u00e1sica e com exemplos que rodam sozinhos, o que muda de fato quando voc\u00ea passa a usar IA no seu fluxo de trabalho em Python, sem promessas exageradas e sem jarg\u00e3o desnecess\u00e1rio.<\/p>\n<h2>O que significa &#8220;usar IA no desenvolvimento&#8221;, na pr\u00e1tica<\/h2>\n<p>Antes de qualquer exemplo, vale alinhar um conceito. Quando falamos em &#8220;usar IA no desenvolvimento&#8221;, estamos falando de ferramentas baseadas em modelos de linguagem \u2014 programas de computador treinados com uma quantidade enorme de texto e c\u00f3digo, capazes de gerar c\u00f3digo novo, explicar um trecho existente, sugerir corre\u00e7\u00f5es ou at\u00e9 executar tarefas de forma aut\u00f4noma dentro de um projeto. Elas aparecem de tr\u00eas formas principais no seu dia a dia:<\/p>\n<ul>\n<li><strong>Autocompletar inteligente<\/strong>: sugest\u00f5es de c\u00f3digo que aparecem enquanto voc\u00ea digita, baseadas no contexto do arquivo aberto.<\/li>\n<li><strong>Chat de programa\u00e7\u00e3o<\/strong>: uma conversa em linguagem natural onde voc\u00ea descreve o que precisa e recebe c\u00f3digo, explica\u00e7\u00f5es ou sugest\u00f5es de corre\u00e7\u00e3o.<\/li>\n<li><strong>Agente de execu\u00e7\u00e3o<\/strong>: uma ferramenta que n\u00e3o s\u00f3 sugere c\u00f3digo, mas tamb\u00e9m executa comandos, roda testes e edita arquivos por conta pr\u00f3pria, seguindo instru\u00e7\u00f5es que voc\u00ea d\u00e1.<\/li>\n<\/ul>\n<p>Essas tr\u00eas formas n\u00e3o competem entre si \u2014 elas se complementam, e voc\u00ea vai usar cada uma dependendo do tamanho e da urg\u00eancia da tarefa. O importante, neste est\u00e1gio inicial, \u00e9 entender que nenhuma delas substitui o conhecimento da linguagem. Como aponta uma discuss\u00e3o recente em uma <a href=\"https:\/\/www.reddit.com\/r\/learnpython\/comments\/1ritmiw\/does_it_still_make_sense_to_learn_python_or_any\/?tl=pt-br\" target=\"_blank\" rel=\"noopener\">thread sobre o tema no Reddit<\/a>, se voc\u00ea n\u00e3o entende a sintaxe e a estrutura b\u00e1sica do Python, voc\u00ea simplesmente n\u00e3o consegue depurar o que a IA produziu para voc\u00ea. A IA acelera quem j\u00e1 sabe caminhar; ela n\u00e3o ensina a andar sozinha.<\/p>\n<blockquote><p><strong>\ud83d\udca1 Dica do Mestre:<\/strong> segundo o material <a href=\"https:\/\/www.hashtagtreinamentos.com\/ia-vai-substituir-os-programadores-ia\" target=\"_blank\" rel=\"noopener\">A IA vai substituir os programadores? O que mudou em 2026<\/a>, da Hashtag Treinamentos, as duas habilidades que mais protegem sua carreira hoje s\u00e3o o dom\u00ednio real de uma linguagem de programa\u00e7\u00e3o e a capacidade de usar IA de forma estrat\u00e9gica \u2014 n\u00e3o apenas pedindo c\u00f3digo no chat, mas entendendo o que aquele c\u00f3digo faz antes de aceit\u00e1-lo.<\/p><\/blockquote>\n<h2>Do zero \u00e0 tarefa: um exemplo pr\u00e1tico de Python com apoio de IA<\/h2>\n<p>Vamos voltar ao script de segunda-feira. A tarefa \u00e9 simples de descrever: ler um arquivo <code>.csv<\/code>, tratar valores ausentes e gerar um resumo. Sem IA, voc\u00ea provavelmente pesquisaria em documenta\u00e7\u00e3o, testaria trechos isolados e ajustaria aos poucos. Com um assistente de IA integrado ao editor, o fluxo muda de forma percept\u00edvel.<\/p>\n<h3>Passo 1: descrever o problema em linguagem natural<\/h3>\n<p>Em vez de come\u00e7ar digitando c\u00f3digo, voc\u00ea escreve uma instru\u00e7\u00e3o clara para o assistente, algo como:<\/p>\n<pre><code>Escreva uma fun\u00e7\u00e3o em Python que:\n1. Leia um arquivo CSV chamado \"vendas.csv\"\n2. Ignore linhas totalmente vazias\n3. Converta a coluna \"valor\" de texto para n\u00famero, tratando v\u00edrgula como separador decimal\n4. Retorne o total de vendas e a quantidade de linhas v\u00e1lidas\n<\/code><\/pre>\n<h3>Passo 2: o c\u00f3digo gerado como ponto de partida<\/h3>\n<p>Um assistente de IA bem orientado tende a produzir algo pr\u00f3ximo disto:<\/p>\n<pre><code>import csv\n\ndef resumir_vendas(caminho_arquivo):\n    total = 0.0\n    linhas_validas = 0\n\n    with open(caminho_arquivo, newline=\"\", encoding=\"utf-8\") as arquivo:\n        leitor = csv.DictReader(arquivo)\n        for linha in leitor:\n            valor_texto = linha.get(\"valor\", \"\").strip()\n            if not valor_texto:\n                continue\n\n            valor_convertido = valor_texto.replace(\",\", \".\")\n            try:\n                valor = float(valor_convertido)\n            except ValueError:\n                continue\n\n            total += valor\n            linhas_validas += 1\n\n    return {\n        \"total_vendas\": round(total, 2),\n        \"linhas_validas\": linhas_validas\n    }\n\nif __name__ == \"__main__\":\n    resultado = resumir_vendas(\"vendas.csv\")\n    print(f\"Total de vendas: R$ {resultado['total_vendas']}\")\n    print(f\"Linhas v\u00e1lidas processadas: {resultado['linhas_validas']}\")\n<\/code><\/pre>\n<p>Repare que esse c\u00f3digo j\u00e1 resolve o problema descrito: trata linhas vazias, converte o separador decimal e ignora valores que n\u00e3o conseguem ser convertidos, sem quebrar a execu\u00e7\u00e3o do programa. O ganho de tempo aqui n\u00e3o est\u00e1 em &#8220;n\u00e3o precisar pensar&#8221;, mas em n\u00e3o precisar escrever manualmente toda a estrutura de leitura de arquivo e tratamento de exce\u00e7\u00e3o \u2014 trabalho mec\u00e2nico que voc\u00ea j\u00e1 sabe fazer, mas que consome minutos preciosos.<\/p>\n<h3>Passo 3: o papel que continua sendo seu<\/h3>\n<p>\u00c9 neste ponto que a diferen\u00e7a entre usar IA bem e usar IA mal aparece. O c\u00f3digo acima funciona, mas voc\u00ea, como desenvolvedor, precisa validar decis\u00f5es como: o que fazer com uma linha inv\u00e1lida \u2014 apenas ignorar, ou registrar em um log para investiga\u00e7\u00e3o posterior? O arquivo pode ter milh\u00f5es de linhas \u2014 a abordagem de leitura linha a linha \u00e9 suficiente, ou seria melhor usar uma biblioteca como o <code>pandas<\/code> para processamento em lote? Essas perguntas n\u00e3o s\u00e3o respondidas pela IA \u2014 elas s\u00e3o respondidas por quem entende o contexto do neg\u00f3cio e da aplica\u00e7\u00e3o. A IA entrega uma primeira vers\u00e3o s\u00f3lida; voc\u00ea entrega o julgamento t\u00e9cnico.<\/p>\n<h2>Autocompletar com contexto: menos digita\u00e7\u00e3o, mais decis\u00e3o<\/h2>\n<p>Fora do chat, o uso mais frequente da IA no dia a dia acontece dentro do pr\u00f3prio editor, com sugest\u00f5es autom\u00e1ticas enquanto voc\u00ea digita. Imagine que voc\u00ea j\u00e1 tem a fun\u00e7\u00e3o <code>resumir_vendas<\/code> pronta e agora precisa escrever um teste simples para ela usando a biblioteca <a href=\"https:\/\/vitest.dev\" target=\"_blank\" rel=\"noopener\">Vitest<\/a> n\u00e3o se aplicaria aqui, j\u00e1 que estamos em Python \u2014 o equivalente natural seria o <code>pytest<\/code>. Ao come\u00e7ar a digitar o nome da fun\u00e7\u00e3o de teste, a IA j\u00e1 sugere uma estrutura coerente com o padr\u00e3o do arquivo:<\/p>\n<pre><code>import pytest\nfrom vendas import resumir_vendas\n\ndef test_resumir_vendas_ignora_linhas_invalidas(tmp_path):\n    arquivo_csv = tmp_path \/ \"vendas.csv\"\n    arquivo_csv.write_text(\n        \"produto,valor\\n\"\n        \"Caneta,10,50\\n\"\n        \"Caderno,\\n\"\n        \"Lapis,abc\\n\"\n    )\n\n    resultado = resumir_vendas(str(arquivo_csv))\n\n    assert resultado[\"linhas_validas\"] == 1\n    assert resultado[\"total_vendas\"] == 10.5\n<\/code><\/pre>\n<p>Esse teste usa o recurso <code>tmp_path<\/code> do pr\u00f3prio <code>pytest<\/code>, que cria um arquivo tempor\u00e1rio s\u00f3 para a execu\u00e7\u00e3o do teste \u2014 uma pr\u00e1tica recomendada para n\u00e3o depender de arquivos externos ao rodar testes automatizados. O valor da sugest\u00e3o de IA aqui n\u00e3o est\u00e1 em inventar a l\u00f3gica, mas em lembrar rapidamente da sintaxe correta de uma ferramenta que voc\u00ea usa esporadicamente, evitando que voc\u00ea pare o racioc\u00ednio para consultar documenta\u00e7\u00e3o.<\/p>\n<h2>Explicando c\u00f3digo legado: a IA como tradutor de contexto<\/h2>\n<p>Outra mudan\u00e7a concreta no dia a dia acontece quando voc\u00ea recebe um projeto de Python que n\u00e3o escreveu. Antes, entender um trecho de c\u00f3digo desconhecido significava ler linha por linha, anotar hip\u00f3teses e testar. Hoje, voc\u00ea pode pedir a um assistente de IA que explique o trecho antes de tocar nele. Considere este exemplo, t\u00edpico de c\u00f3digo mais antigo:<\/p>\n<pre><code>def calc(x, y, op):\n    if op == \"+\":\n        return x + y\n    elif op == \"-\":\n        return x - y\n    elif op == \"*\":\n        return x * y\n    elif op == \"\/\":\n        if y != 0:\n            return x \/ y\n        else:\n            return None\n<\/code><\/pre>\n<p>Ao pedir &#8220;explique o que essa fun\u00e7\u00e3o faz e aponte riscos&#8221;, um assistente de IA bem calibrado devolve algo como: esta fun\u00e7\u00e3o implementa uma calculadora simples que recebe dois n\u00fameros e um operador em texto; o risco principal \u00e9 que, se o operador n\u00e3o corresponder a nenhum dos quatro casos previstos, a fun\u00e7\u00e3o retorna <code>None<\/code> silenciosamente, sem indicar erro \u2014 o que pode gerar bugs dif\u00edceis de rastrear mais adiante no c\u00f3digo que consome esse retorno. Esse tipo de leitura cr\u00edtica economiza o tempo de investiga\u00e7\u00e3o manual, mas ainda exige que voc\u00ea, como desenvolvedor, decida o que fazer com o risco apontado \u2014 por exemplo, lan\u00e7ar uma exce\u00e7\u00e3o expl\u00edcita em vez de retornar <code>None<\/code>.<\/p>\n<h2>Por que o fundamento em Python continua sendo o ponto de partida<\/h2>\n<p>Vale refor\u00e7ar um ponto central deste artigo: nada do que foi mostrado at\u00e9 aqui funciona bem se voc\u00ea n\u00e3o souber ler o c\u00f3digo gerado. Segundo o v\u00eddeo <a href=\"https:\/\/www.youtube.com\/watch?v=GmaYtk2Izow\" target=\"_blank\" rel=\"noopener\">Does programming without AI still make sense in 2026?<\/a>, a discuss\u00e3o sobre programar sem IA em 2026 j\u00e1 deixou de ser sobre &#8220;se&#8221; a IA deve ser usada e passou a ser sobre como us\u00e1-la sem perder a capacidade de julgamento t\u00e9cnico. E o material <a href=\"https:\/\/www.youtube.com\/watch?v=sWmJURcNwMk\" target=\"_blank\" rel=\"noopener\">O FUTURO DO PYTHON (e o que isso significa pra sua carreira)<\/a> refor\u00e7a que o Python est\u00e1 entrando em uma nova fase de mercado justamente por ser a linguagem mais associada a projetos de IA \u2014 o que significa que quem domina Python de forma s\u00f3lida tem mais facilidade para aproveitar essas ferramentas, e n\u00e3o o contr\u00e1rio.<\/p>\n<blockquote><p><strong>\ud83d\udca1 Dica do Mestre:<\/strong> segundo o artigo <a href=\"https:\/\/br.hubspot.com\/blog\/marketing\/o-que-e-python\" target=\"_blank\" rel=\"noopener\">O que \u00e9 Python? Para que serve, usos em IA e por que aprender em 2026<\/a>, a facilidade de sintaxe do Python combinada com sua capacidade de lidar com grandes volumes de dados \u00e9 justamente o que faz dela a linguagem padr\u00e3o para projetos de IA hoje. Isso cria um ciclo interessante: voc\u00ea usa Python para construir solu\u00e7\u00f5es de IA, e usa IA para escrever Python com mais velocidade.<\/p><\/blockquote>\n<h2>Um checklist b\u00e1sico para come\u00e7ar hoje<\/h2>\n<p>Se voc\u00ea ainda n\u00e3o incorporou IA no seu fluxo de trabalho em Python, um caminho simples e seguro \u00e9 come\u00e7ar por tarefas de baixo risco, onde um erro n\u00e3o compromete nada importante. Considere esta sequ\u00eancia:<\/p>\n<ul>\n<li>Pe\u00e7a \u00e0 IA para gerar testes para fun\u00e7\u00f5es que voc\u00ea j\u00e1 escreveu \u2014 voc\u00ea j\u00e1 conhece o comportamento esperado, ent\u00e3o valida com facilidade.<\/li>\n<li>Use o chat para explicar trechos de c\u00f3digo legado antes de alter\u00e1-los, em vez de pedir para a IA j\u00e1 reescrever direto.<\/li>\n<li>Aceite sugest\u00f5es de autocompletar apenas depois de ler a linha inteira, nunca por reflexo.<\/li>\n<li>Reserve tarefas de arquitetura e decis\u00f5es de neg\u00f3cio para voc\u00ea \u2014 a IA participa da execu\u00e7\u00e3o, n\u00e3o da estrat\u00e9gia.<\/li>\n<\/ul>\n<h2>Junte-se \u00e0 Comunidade Dev&#8217;s AI<\/h2>\n<p>Se este artigo te ajudou a enxergar com mais clareza como a IA se encaixa no seu dia a dia com Python, o pr\u00f3ximo passo natural \u00e9 trocar experi\u00eancias com outros desenvolvedores que est\u00e3o vivendo essa mesma transi\u00e7\u00e3o. Na <a href=\"https:\/\/adrianosantos.link\/ComunidadeDevAI\" target=\"_blank\" rel=\"noopener\">Comunidade Dev&#8217;s AI<\/a> voc\u00ea encontra discuss\u00f5es pr\u00e1ticas sobre Python, outras linguagens e o uso respons\u00e1vel de IA no desenvolvimento de software, sempre com foco em quem programa de verdade, no dia a dia, e precisa de respostas aplic\u00e1veis, n\u00e3o de hype.<\/p>\n<h2>Conclus\u00e3o<\/h2>\n<p>A IA n\u00e3o muda o que \u00e9 o desenvolvimento em Python \u2014 ela muda o ritmo e a distribui\u00e7\u00e3o do seu tempo dentro dele. Tarefas mec\u00e2nicas, como estruturar leitura de arquivos, escrever testes repetitivos ou entender c\u00f3digo legado, ficam mais r\u00e1pidas. As decis\u00f5es que exigem julgamento \u2014 o que fazer com um dado inv\u00e1lido, qual estrutura escolher para escalar, o que priorizar em uma refatora\u00e7\u00e3o \u2014 continuam, e v\u00e3o continuar, sendo suas. Quem entende essa divis\u00e3o de trabalho aproveita a IA como uma ferramenta poderosa a mais na caixa; quem ignora essa divis\u00e3o corre o risco de aceitar c\u00f3digo que n\u00e3o sabe explicar. E, no fim, \u00e9 exatamente essa capacidade de explicar o pr\u00f3prio c\u00f3digo que separa quem programa de quem apenas copia sugest\u00f5es.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>S\u00e3o nove horas da manh\u00e3 de uma segunda-feira. Voc\u00ea abre o editor de c\u00f3digo para terminar aquele script de tratamento de dados que ficou pela metade na sexta-feira. \u00c9 um arquivo .csv exportado de um sistema legado, com colunas de datas em tr\u00eas formatos diferentes, valores num\u00e9ricos escritos como texto e algumas linhas completamente vazias [&hellip;]<\/p>\n","protected":false},"author":127,"featured_media":1197,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1196","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/posts\/1196","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/users\/127"}],"replies":[{"embeddable":true,"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/comments?post=1196"}],"version-history":[{"count":1,"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/posts\/1196\/revisions"}],"predecessor-version":[{"id":1198,"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/posts\/1196\/revisions\/1198"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/media\/1197"}],"wp:attachment":[{"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/media?parent=1196"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/categories?post=1196"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/tags?post=1196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}