Um momento
Todos os artigos
Python 15 min de leitura

O Que É a Linguagem de Programação Python? Um Guia Simples da Linguagem por Trás da Ciência de Dados e da IA

Um guia simples e sem jargões sobre o Python, a linguagem fácil de ler por trás da ciência de dados e da IA. Entenda por que ela usa indentação, como pode ser lenta e rápida ao mesmo tempo, e por que virou a linguagem mais popular do mundo.

nbkhope
Nesta página

Se você ouviu falar de alguma linguagem de programação nos últimos tempos, é bem provável que tenha sido o Python. É a linguagem que a maioria dos pesquisadores de IA usa, uma das favoritas de cientistas e analistas de dados, uma primeira linguagem comum nas escolas e, desde 2024, a linguagem mais usada no GitHub, a maior casa de código do mundo.

Este artigo explica, em linguagem simples, o que é o Python, por que o código dele é tão fácil de ler, como uma linguagem conhecida por ser lenta acabou movendo a inteligência artificial e onde ela é usada hoje.

Um projeto de férias

Em dezembro de 1989, um programador holandês chamado Guido van Rossum procurava algo para se ocupar durante as férias de Natal. Ele decidiu escrever uma nova linguagem de programação: uma que fosse fácil de ler, divertida de usar e poderosa o bastante para trabalho de verdade.

Ele a lançou ao público em 1991. Guido liderou a linguagem por quase 30 anos, com o título brincalhão de "Ditador Benevolente Vitalício", até deixar o cargo em 2018. Hoje o Python é conduzido por um grupo de voluntários eleitos e apoiado por uma organização sem fins lucrativos, a Python Software Foundation, e é gratuito para qualquer pessoa usar.

As ideias que guiam o Python estão até dentro da linguagem. Se você digitar import this no Python, ele mostra um pequeno poema chamado The Zen of Python ("O Zen do Python"), que começa assim:

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.

Ou seja: bonito é melhor que feio, explícito é melhor que implícito, simples é melhor que complexo.

Como é o Python

Veja o clássico primeiro programa:

print("Olá, mundo!")

É só isso: uma linha, e ela mostra Olá, mundo!.

O código Python é famoso por parecer quase um pseudocódigo, aqueles rascunhos em linguagem comum que as pessoas fazem antes de escrever o código de verdade. Veja alguns comandos de uma linha só e as respostas que o Python deu:

Experimente no Python, com código Python de verdade e o que o Python respondeu. len("hello") pergunta quantas letras tem "hello", e o Python responde 5. "py" in "python" pergunta se "py" está dentro de "python", e o Python responde True, verdadeiro. sorted([3, 1, 2]) ordena a lista, e o Python responde [1, 2, 3]. "hello world".title() coloca maiúscula em cada palavra, e o Python responde 'Hello World'. sum([10, 20, 30]) soma a lista, e o Python responde 60. 2 ** 100 é 2 elevado a 100, e o Python responde um número de 31 dígitos, 1267650600228229401496703205376, sem trabalho extra

O último é uma bela surpresa. Muitas linguagens só conseguem lidar com números inteiros até um certo tamanho, mas o Python deixa os números crescerem até onde a memória do computador permitir.

Espaços que têm significado

A característica mais reconhecível do Python é o jeito como ele agrupa as linhas de código. A maioria das linguagens, como JavaScript, C e Java, usa chaves { } para marcar quais linhas andam juntas. O Python usa a indentação, os espaços no começo da linha:

O Python usa indentação em vez de chaves. À esquerda, JavaScript: se a temperatura for maior que 30, abre chave, duas linhas que mostram "Está quente!" e "Beba água.", fecha chave, e depois uma linha que mostra "Tenha um bom dia.". À direita, o mesmo programa em Python: if temperatura > 30 seguido de dois-pontos, duas linhas recuadas que mostram "Está quente!" e "Beba água.", e depois uma linha sem recuo que mostra "Tenha um bom dia.". As linhas recuadas estão destacadas: só rodam quando está quente. Os dois programas fazem a mesma coisa. No Python, as linhas empurradas para a direita pertencem ao "if", então o espaçamento que deixa o código fácil de ler é também o que dá sentido a ele

Na versão em Python, as duas linhas empurradas para a direita pertencem ao if ("se"), então só rodam quando está quente. A última linha não tem recuo, então roda sempre. Com temperatura = 31, o programa mostra:

Está quente!
Beba água.
Tenha um bom dia.

Programadores de todas as linguagens recuam o código para deixá-lo legível. O Python simplesmente transforma isso em regra, e por isso o código Python costuma ficar arrumado e uniforme, não importa quem o escreveu.

O Python também tem classes, plantas para criar objetos, como um carro que sabe a sua cor e a sua velocidade:

1class Carro:
2    def __init__(self, cor):
3        self.cor = cor
4        self.velocidade = 0
5
6    def acelerar(self):
7        self.velocidade += 10
8
9    def frear(self):
10        self.velocidade = 0
11
12
13meu_carro = Carro("vermelho")
14meu_carro.acelerar()
15meu_carro.acelerar()
16print(f"O meu carro {meu_carro.cor} anda a {meu_carro.velocidade} km/h")

Isso mostra O meu carro vermelho anda a 20 km/h. O def define uma ação, o __init__ prepara cada carro novo, e o f antes das aspas permite encaixar valores direto numa frase com {...}.

E veja como separar os adultos de uma lista de pessoas e ordenar os nomes, numa única linha legível:

1pessoas = [
2    {"nome": "Maria", "idade": 34},
3    {"nome": "Ana", "idade": 17},
4    {"nome": "Pedro", "idade": 25},
5    {"nome": "Lucas", "idade": 15},
6]
7
8adultos = sorted(pessoa["nome"] for pessoa in pessoas if pessoa["idade"] >= 18)
9print(", ".join(adultos))  # Maria, Pedro

Leia em voz alta, traduzindo as palavras em inglês: ordenado (sorted): o nome de cada pessoa, para cada (for) pessoa em (in) pessoas, se (if) a idade for 18 ou mais.

O Python é rápido?

Sozinho, não muito. O Python lê e executa o seu programa passo a passo enquanto ele roda, usando um programa chamado interpretador, em vez de traduzir tudo antes para a linguagem de máquina do computador, como o C faz. Isso o deixa flexível e fácil para testar coisas, mas acrescenta um custo extra a cada passo.

Cronometramos a mesma tarefa simples, contar os números primos abaixo de 2 milhões, em quatro linguagens:

Teste de velocidade: Python puro é fácil de escrever, mas lento. Contando os números primos abaixo de 2 milhões, do início ao fim, medido para este artigo como a mediana de 5 execuções num notebook Windows. C: 0,41 segundo. JavaScript: 0,48 segundo. Ruby: 5,06 segundos. Python: 20,07 segundos. Versões: GCC 14, Node.js 26, Ruby 3.3 (versão para Windows, sem o acelerador YJIT) e Python 3.11. O programa em Python contou um número de cada vez, sem bibliotecas auxiliares, o jeito mais lento de usar o Python

O Python levou cerca de 20 segundos, umas 50 vezes mais lento que o C. Este foi o Python simples, passo a passo, que um iniciante escreveria. (Usamos o mesmo teste em O Que É a Linguagem de Programação Ruby?)

As versões novas estão melhorando. O Python 3.11 ficou em média cerca de 25% mais rápido que a versão anterior, e as versões recentes começaram a incluir um compilador embutido que transforma o código mais usado em código de máquina enquanto o programa roda.

Então como uma linguagem lenta virou a linguagem da IA, onde a velocidade importa demais? Esse é o truque mais esperto do Python.

O segredo do Python: o volante e o motor

O Python é ótimo em chamar código escrito em outras linguagens. As bibliotecas que fazem matemática pesada, como o NumPy (números e grades), o pandas (tabelas de dados), o PyTorch e o TensorFlow (IA), são escritas principalmente em linguagens rápidas como C e C++, com o Python como a parte amigável na frente:

O Python é o volante; o código rápido é o motor. Quatro camadas, de cima para baixo. O seu código Python: poucas linhas legíveis, como model.fit(dados). Bibliotecas Python: NumPy, pandas, PyTorch, TensorFlow, scikit-learn. Código compilado e rápido: escrito em C, C++ e CUDA, afinado para velocidade. O hardware: o processador (CPU) e os chips gráficos (GPUs). Uma seta na lateral vai de fácil de escrever, no topo, até rápido de rodar, embaixo. Você fica com o melhor dos dois mundos: escreve Python simples, e as contas pesadas acontecem no código rápido lá embaixo

Pense em dirigir um carro. Você gira o volante e aperta os pedais, o que é fácil, e o motor faz o trabalho pesado. No Python, você escreve uma instrução curta e legível, e uma biblioteca passa as contas de verdade para o código rápido lá embaixo, às vezes rodando em chips gráficos poderosos (GPUs).

Medimos o tamanho dessa diferença. Multiplicar duas grades de números é a conta central dentro das redes neurais, a tecnologia por trás da IA moderna. Veja a mesma multiplicação feita com laços de Python puro e com o NumPy:

A mesma conta de dois jeitos: Python puro vs. NumPy. Multiplicando duas grades de 300 × 300 números, 27 milhões de passos de multiplicar e somar, a conta central das redes neurais. Medido para este artigo como a mediana de várias execuções num notebook Windows. Laços de Python puro: 2,31 segundos. NumPy, que chama código C rápido: 0,0011 segundo, ou 1,1 milissegundo. Cerca de 2.000 vezes mais rápido. Python 3.11 e NumPy 1.26. Os dois deram exatamente a mesma resposta. O NumPy passa o trabalho para uma biblioteca de matemática escrita em C, que também usa vários núcleos do processador ao mesmo tempo

O mesmo Python, a mesma resposta, cerca de 2.000 vezes mais rápido, porque o NumPy passa a tarefa para uma biblioteca de matemática escrita em C. Com o NumPy, a conta inteira cabe numa linha:

resultado = grade_a @ grade_b

Esse é o acordo que o Python oferece: você escreve código simples, e os especialistas que criaram as bibliotecas o deixam rápido. É por isso que um cientista de dados consegue analisar milhões de linhas, ou um pesquisador de IA consegue treinar um modelo, com poucas linhas de Python. Para um exemplo, veja O Que É TensorFlow?

Pilhas incluídas

O Python vem com uma grande biblioteca padrão, uma caixa de ferramentas que acompanha a linguagem, para trabalhar com arquivos, datas, a internet, planilhas no formato CSV, arquivos compactados e muito mais. Os fãs do Python descrevem isso como "pilhas incluídas" (batteries included): muita coisa útil funciona assim que você instala.

Além disso, o Python Package Index (PyPI) reúne mais de meio milhão de pacotes gratuitos que qualquer pessoa pode instalar com um único comando, pip install. Quer construir um site, fazer gráficos, controlar um robô ou ler PDFs? Provavelmente alguém já escreveu um pacote para isso.

Onde o Python é usado

Onde o Python é usado. Inteligência artificial: treinar e rodar modelos de IA com PyTorch e TensorFlow. Ciência de dados: gráficos, estatística e planilhas turbinadas com pandas. Sites: o Instagram roda em Django, um framework web em Python. Automação: scripts que renomeiam arquivos, preenchem formulários e enviam relatórios. Ciência: ajudou a produzir a primeira imagem de um buraco negro, em 2019. Educação: uma das linguagens mais ensinadas a quem está começando. O Python costuma ser chamado de "a segunda melhor linguagem para tudo": raramente a mais rápida, mas boa o bastante em quase todo lugar, e rápida de escrever
  • Inteligência artificial: a maioria dos modelos de IA de hoje, incluindo os grandes modelos de linguagem por trás dos chatbots, é construída e treinada com ferramentas Python como o PyTorch. Se você leu os nossos artigos sobre aprendizado de máquina ou aprendizado profundo, o código por trás dessas ideias normalmente é Python.
  • Ciência de dados: analistas usam o Python para limpar dados, calcular estatísticas e desenhar gráficos, muitas vezes em notebooks Jupyter, documentos que misturam código, resultados e anotações.
  • Sites: frameworks como Django e Flask movem os bastidores de sites como o Instagram.
  • Automação: pequenos scripts em Python poupam horas de trabalho renomeando milhares de arquivos, buscando dados em sites ou enviando relatórios diários.
  • Ciência: astrônomos, biólogos e físicos usam o Python todos os dias. A equipe por trás da primeira imagem de um buraco negro, divulgada em 2019, usou ferramentas Python para processar os dados.
  • Educação: o estilo legível faz do Python uma das linguagens mais populares para quem está começando a programar.

O Python às vezes é chamado de "a segunda melhor linguagem para tudo". Para cada tarefa específica, muitas vezes existe uma linguagem mais rápida ou mais especializada, mas o Python é bom o bastante em quase todo lugar, e você pode usar a mesma linguagem para tudo isso.

As desvantagens

  • Lento sozinho. O Python puro é bem mais lento que C, C++, Java ou JavaScript, como o nosso teste de velocidade mostrou. As bibliotecas escondem isso nas tarefas cheias de contas, mas não em tudo.
  • Uma coisa de cada vez. Por décadas, uma trava de segurança dentro do interpretador padrão do Python, apelidada de GIL, deixou só um pedaço de código Python rodar por vez, mesmo num computador com vários núcleos de processador. As versões recentes oferecem uma versão opcional sem ela, mas a adoção ainda está em andamento.
  • Erros aparecem tarde. Assim como o Ruby e o JavaScript, o Python não confere os tipos dos valores antes de rodar, então alguns erros só aparecem com o programa em execução. As dicas de tipo opcionais (por exemplo, idade: int) e ferramentas de verificação ajudam a pegá-los antes.
  • Não foi feito para celulares nem navegadores. O Python não combina naturalmente com apps de iPhone e Android, e os navegadores rodam JavaScript, não Python.
  • A configuração pode confundir. Projetos diferentes podem precisar de versões diferentes dos mesmos pacotes, e equilibrar isso é uma dor de cabeça comum para iniciantes.
  • A longa mudança para o Python 3. O Python 3, lançado em 2008, corrigiu erros antigos de projeto, mas não era compatível com o Python 2. A comunidade levou mais de uma década para migrar, e o Python 2 foi oficialmente aposentado em 2020.

Uma breve história

Uma breve história do Python, numa linha do tempo. 1989: Guido van Rossum começa o Python nas férias de Natal. 1991: primeira versão pública. 2000: Python 2.0. 2005: surge o framework web Django. 2008: o Python 3.0 arruma a linguagem. 2015: TensorFlow, depois PyTorch em 2016, e o Python lidera a IA. 2018: Guido deixa a liderança. 2020: o Python 2 é aposentado. 2024: o Python vira a linguagem número 1 no GitHub

A ascensão do Python foi lenta e constante. Os cientistas o adotaram nos anos 2000, quando ferramentas como o NumPy (2006) e o pandas (2008) o deixaram ótimo para dados. Depois veio a explosão da IA nos anos 2010, e os kits de IA mais populares, TensorFlow e PyTorch, escolheram o Python como linguagem principal. Desde 2021, o Python também lidera o índice TIOBE, um ranking mensal antigo de popularidade das linguagens de programação.

Para o quadro geral, veja A História das Linguagens de Programação.

Vale a pena aprender Python?

  • Ótimos motivos: você está começando na programação, quer trabalhar com dados ou IA, ou quer automatizar tarefas chatas no trabalho. O Python é uma das linguagens mais recomendadas para começar, e muitos cursos universitários a ensinam.
  • Bom saber: o Python é gratuito e roda no Windows, no Mac e no Linux. Digite python num terminal e você ganha um prompt interativo (>>>) onde pode digitar uma linha de cada vez e ver a resposta na hora. Sites como o Google Colab permitem até rodar Python no navegador, sem instalar nada.

Um pequeno glossário

  • Python: uma linguagem de programação criada por Guido van Rossum e lançada pela primeira vez em 1991.
  • Interpretador: o programa que lê o código Python e o executa passo a passo.
  • Indentação: os espaços no começo de uma linha. No Python, eles decidem quais linhas andam juntas.
  • Biblioteca / pacote: código pronto que você pode adicionar ao seu projeto, como o NumPy ou o Django.
  • Biblioteca padrão: a caixa de ferramentas que vem com o próprio Python ("pilhas incluídas").
  • PyPI e pip: o catálogo on-line de pacotes do Python, e o comando que os instala.
  • NumPy: uma biblioteca para contas rápidas com grandes grades de números.
  • pandas: uma biblioteca para trabalhar com tabelas de dados, como uma planilha programável.
  • PyTorch / TensorFlow: os dois kits mais conhecidos para construir modelos de IA.
  • Notebook Jupyter: um documento que mistura código, resultados, gráficos e anotações.
  • Django / Flask: frameworks para construir sites com Python.
  • GIL: uma trava do interpretador padrão do Python que deixava só um pedaço de código Python rodar por vez.
  • Dicas de tipo: rótulos opcionais como idade: int que ajudam ferramentas a pegar erros.

Conclusão

O Python começou como um projeto de férias de Natal e cresceu até virar uma das linguagens de programação mais populares do mundo. O código dele é limpo e legível, a regra da indentação mantém os programas arrumados, e a enorme coleção de bibliotecas faz com que exista uma ferramenta pronta para quase tudo.

O Python puro não é rápido, mas isso pouco importa para a maior parte do que as pessoas fazem com ele: o Python é o volante, e as bibliotecas escritas em linguagens rápidas são o motor. Essa combinação de simples de escrever e rápido onde importa é exatamente o motivo de o Python ter virado a linguagem da ciência de dados e da inteligência artificial.

Obrigado pela leitura!

Conhece alguém que vai gostar? Mande para essa pessoa.

Mais artigos

Read next

Comentários

Be kind and specific. Comments with links from new accounts appear after a moderator reviews them.