Pular para o conteúdo principal

Por que cientistas devem usar Python em computação científica

Descubra o alcance do Python para pesquisa, por que cientistas devem usar Python em computação científica e como a comunidade Python pode apoiar a pesquisa de forma efetiva.
Atualizado 17 de set. de 2026  · 12 min lido

Explorar com IA

ChatGPTClaudePerplexity

Neste ano, na PyCon 2017, dois keynotes foram apresentados por pessoas da comunidade científica de Python: o Dr. Jake VanderPlas falou sobre por que cientistas adotaram e devem adotar Python; e a Dra. Kathryn Huff explicou como a comunidade Python pode ajudar as comunidades científicas — e por que deve fazê-lo. Juntas, essas duas palestras oferecem uma visão coerente de como a pesquisa científica e a programação em Python se complementam, por que muitos cientistas em atividade hoje se beneficiariam ao adotar Python e como a comunidade Python pode apoiar a pesquisa científica de forma efetiva.

A surpreendente eficácia do Python na computação científica

Jake VanderPlas é astrônomo no eScience Institute da University of Washington, em Seattle. Ele também é ativo na comunidade científica de Python, tendo contribuído para SciPy, scikit-learn e altair, entre outros pacotes.

Muita gente imagina astrônomos na base de telescópios gigantes, olhando por lentes; porém, Jake garantiu que a maioria dos astrônomos nunca olhou por um telescópio na vida profissional — eles passam boa parte do tempo de coleta de dados fazendo isso por meio de consultas a bancos de dados. E banco de dados é só a ponta do iceberg quando falamos das habilidades computacionais desses profissionais, exigidas pelas tarefas que enfrentam — Jake trouxe vários exemplos esclarecedores. Veja esta visualização do sistema exoplanetário TRAPPIST-1, por exemplo:

scientific computing python

É tentador achar que é uma imagem fotorrealista, mas na verdade é uma interpretação artística — não são os dados originais. A existência do planeta foi inferida por meio do escurecimento de uma estrela e de modelagem estatística desse sistema a partir do conjunto de dados abaixo e de medições subsequentes (imagem e dados de Ethan Kruse):

python for research

Como toda essa inferência e análise estatística foi feita? Em Python, claro. Com uma "modelagem estatística incrivelmente intrincada do sistema"; além disso, encontrar esse tipo de sistema, disse Jake, "depende de escrever código estatístico em um pipeline elaborado de análise de dados".

Esse é um de vários projetos científicos (em astronomia) que Jake mostrou e que usam Python em seus pipelines de processamento e análise de dados. Vale notar que esses projetos não só usam uma linguagem open source — seus códigos estão no GitHub, como o Kepler e o JWST. Este último busca detectar gases na atmosfera de outros planetas para identificar sua composição química e possíveis assinaturas de vida. Esses projetos são em Python, estão no GitHub e usam Jupyter Notebooks, entre outras ferramentas.

Seria tudo isso apenas anedótico — alguns projetos em Python fora da curva? Em astronomia, não. Jake analisou publicações e mostrou que o uso de Python cresce de forma constante:

python scientific computing

Repare no hockey stick do Python! Já vimos que cientistas usam cada vez mais Python, mas por que eles usam Python?

4 argumentos para usar Python em computação científica

Jake perguntou: "Por que Python é uma ferramenta tão eficaz na ciência?"

1. Interoperabilidade com outras linguagens

Python como cola: historicamente, muitos cientistas trabalhavam com pipelines de dados complexos e engessados para ir do experimento e/ou dados até resultados comunicáveis: consultas a bancos de dados, comandos em terminal, softwares especializados ou proprietários, até chegar em ferramentas de visualização. Jake VanderPlas citou Dave Beazley, porque ele resumiu bem:

"Cientistas... trabalham com uma grande variedade de sistemas, que vão de códigos de simulação, pacotes de análise de dados, bancos de dados, ferramentas de visualização e softwares caseiros — cada um com um conjunto diferente de interfaces e formatos de arquivo. Como resultado, um cientista pode gastar muito tempo apenas tentando fazer todos esses componentes funcionarem juntos de algum modo..."

E Python consegue interoperar com praticamente todas as ferramentas que você pode querer usar em pesquisa científica: ele une tudo, faz a cola. Como disse Jake, Python é usado para "juntar o amontoado de ferramentas com as quais as pessoas trabalham; a sintaxe de alto nível do Python envolve bibliotecas de baixo nível em C/Fortran".

2. "Baterias incluídas" + módulos de terceiros

Outro motivo para a migração de pesquisadores para Python (e por que quem ainda não migrou "deveria") é que:

  1. ele já vem com muitas "baterias incluídas" e
  2. para o que não vier, existe um ecossistema gigantesco de Scientific Python (SciPy) disponível como módulos de terceiros.

Com as "baterias incluídas" você consegue fazer scraping, subir servidores web, trabalhar com sistemas de arquivos e bancos de dados, ler JSONs e muito mais!

Já os módulos de terceiros são onde as coisas ficam realmente empolgantes. Exemplos (entre muitos):

  • NumPy para computação com arrays;
  • IPython e Jupyter como IDE sobre Python e também para produzir documentos científicos, comunicar e colaborar em pesquisas/resultados;
  • Numba e Dask para escalabilidade e computação distribuída;
  • Pandas para DataFrames;
  • Matplotlib e Bokeh (por exemplo) para visualização de dados (há todo um ecossistema de bibliotecas de dataviz em Python);
  • Scikit-learn para Machine Learning;
  • NetworkX para criação, manipulação e estudo de redes complexas;
  • Scikit-image para processamento de imagens;
  • PyMC para amostragem por Cadeias de Markov Monte Carlo;
  • E a lista continua.

Como disse Jake, "se você tem um problema para resolver, provavelmente existe uma biblioteca para ajudar — e ela deve estar no GitHub!"

research with python

3. Simplicidade e natureza dinâmica

Python é relativamente fácil de escrever, especialmente quando comparado a linguagens como C. Como disse Jake, "Em Python, sobretudo vindo de C, por exemplo, você escreve o que quer que aconteça — e acontece; é quase como escrever pseudocódigo executável".

Ele também citou Perry Greenfield: "Python é uma linguagem muito poderosa para desenvolvedores, mas também é acessível para astrônomos. Fazer com que esses dois públicos usem as mesmas ferramentas traz um enorme benefício que nem sempre é percebido ou mencionado".

Graças a ferramentas como IPython e Jupyter Notebooks, há um ótimo espaço para codificação dinâmica e análise exploratória e iterativa de dados em tempo real. Isso resulta em uma barreira de entrada baixa, pois a própria programação científica é não linear e exploratória. Jake observou que alguns podem reclamar que essas ferramentas são lentas, mas, para pesquisa científica, o que importa é a velocidade de desenvolvimento, não a velocidade de execução — o que as torna ideais.

4. Ética do aberto, perfeita para a ciência

Software open source tem uma ética muito alinhada com a abertura exigida pela pesquisa científica (talvez até mais do que boa parte da própria ciência praticada). Voltaremos a isso ao falar da palestra da Katy Huff, mas ciência não acontece só nos artigos publicados — ela está no resultado, nas instruções/protocolo e na capacidade de reproduzir o resultado; é exatamente isso que o desenvolvimento de software open source busca. Jake trouxe a seguinte citação de Buckheit e Donoho (1995, parafraseando Jon Claerbout):

"Um artigo sobre um resultado computacional é publicidade, não erudição. A verdadeira erudição é todo o ambiente de software, código e dados que produziu o resultado." — Buckheit e Donoho, 1995

O software open source e a ética do ecossistema Python (científico e além) oferecem uma estrutura que pode nos ajudar a sair da crise de reprodutibilidade científica: "resolver a reprodutibilidade passa por ciência aberta" — e o caráter colaborativo, com revisão por pares e publicável no GitHub da pesquisa científica no ecossistema Python é fundamental para essa abertura. Se eu quiser ver como as ondas gravitacionais (previstas por Einstein) foram detectadas em 2016, basta ir ao repositório do LIGO aqui. Ou, se você é um número cada vez maior de astrônomos que usam o pacote Astropy em suas pesquisas, encontra o código e a comunidade que o produz aqui. O fato de tudo ser tão aberto é resultado direto de uma comunidade que modela a ética do open source e da ciência aberta encontrada na comunidade Python em geral. Veja a tabela do que, na visão do Jake (adaptado de Perry Greenfield), a comunidade de astronomia aprendeu com a comunidade Python:

Faça isso pela ciência

"Estou aqui para canalizar o seu poder para os meus propósitos", disse a Dra. Kathryn Huff à comunidade da PyCon, antes de apresentar um argumento convincente de como e por que a comunidade Python pode ajudar a ciência a salvar o mundo. Seu keynote mostrou, com detalhes e paixão, por que o desenvolvimento open source em geral, e Python em particular, são tão eficazes em computação científica e na prática científica como um todo. Ela foi além e mostrou vários caminhos em que a comunidade de programação Python pode usar suas habilidades para apoiar a comunidade científica — e ajudar a salvar o mundo. Se você acredita que água, saúde ou energia são problemas críticos para a humanidade, Kathryn trouxe projetos e repositórios no GitHub com issues abertas prontos para você entrar e contribuir. Foram dezenas de exemplos de projetos e pacotes abertos com tarefas às quais você pode se somar.

Kathryn (Katy) é engenheira nuclear, contribuidora de longa data da comunidade SciPy, atua no Journal of Open Source Software e dedica muito do seu tempo ao The Hacker Within e às iniciativas Software e Data Carpentry, que ajudam cientistas a usar melhor computadores e a fazer descobertas, promovendo reprodutibilidade e facilitando o uso de computação por pesquisadores.

A missão da Katy é melhorar a forma como a energia nuclear é produzida. E qual é a ferramenta favorita dela? Python! Antes de mergulhar nas várias maneiras pelas quais a comunidade Python pode ajudar a pesquisa científica, Katy mostrou por que isso é necessário. Ela citou R. K. Merton (1945) ao descrever a ciência como algo que exige rigor, estrutura e escrutínio da comunidade (uma ótima definição prática de ceticismo organizado) — qualidades, sem dúvida, presentes na comunidade Python open source.

Katy reforçou a importância disso ao enumerar os princípios básicos da ciência e deixar claro que o desenvolvimento open source tem seguido esses princípios melhor do que qualquer outra comunidade desde a era pitagórica (século VI a.C.). Esses princípios são:

  • revisão por pares
  • ceticismo
  • transparência
  • atribuição
  • responsabilização
  • colaboração
  • impacto

Computadores "deveriam" ajudar cientistas a fazer o seguinte:

Qual é, então, o desafio para fazer mais cientistas usarem software open source como Python, para que os computadores realmente os ajudem?

  • Cientistas não são treinados para usar computadores de forma eficaz;

Daí o chamado da Katy à comunidade Python:

"Eu quero envolver você".

E esse engajamento é outro motivo para cientistas em atividade usarem Python: existe uma comunidade enorme de desenvolvedores open source à disposição. Como dito, Katy também atua em outra frente: educar cientistas sobre como usar computação no trabalho. Há várias iniciativas do tipo. Recomendo fortemente que pesquisadores conheçam a Software Carpentry e a Data Carpentry para ver se podem ajudar seu grupo, departamento ou universidade (spoiler: se você computa, provavelmente podem).

Como a Dra. Katy Huff sugere que programadores ajudem? Em quatro passos simples:

  1. Seja curioso;
  2. escolha um projeto;
  3. contribua com a ciência;
  4. salve o mundo.

Por que Python para pesquisa?

  • O ecossistema Python oferece um conjunto maduro — e em constante evolução — de ferramentas computacionais para cientistas.
  • Cientistas estão migrando em massa para Python por causa de sua:
    • interoperabilidade com outras linguagens;
    • abordagem de "baterias incluídas" e módulos de terceiros para quase tudo o que você precisa fazer;
    • simplicidade e natureza dinâmica;
    • ética do aberto, que combina com a ciência.
  • A comunidade de Scientific Python cresce continuamente e as bibliotecas estão sempre evoluindo; a comunidade é aberta;
  • A comunidade de desenvolvimento open source segue os princípios básicos da pesquisa científica mais do que qualquer outra; esses princípios são:
    • revisão por pares
    • ceticismo
    • transparência
    • atribuição
    • responsabilização
    • colaboração
    • impacto
  • Há uma comunidade ainda maior de programadores Python que não são cientistas e querem contribuir para o impacto do Python na ciência, no mundo e em causas nas quais acreditam; parafraseando levemente Perry Greenfield,

"Python é uma linguagem muito poderosa para desenvolvedores, mas também é acessível para [cientistas]. Fazer com que esses dois públicos usem as mesmas ferramentas traz um enorme benefício que nem sempre é percebido ou mencionado".

Se você tiver ideias, comentários ou reflexões, me chame no Twitter: @hugobowne.

Tópicos
Python
Relacionado
Python snake

blog

Para que o Python é usado? 7 usos reais do Python

Você já se perguntou para que o Python é usado no mundo real? Confira 7 usos práticos para essa poderosa linguagem de programação.
Elena Kosourova's photo

Elena Kosourova

10 min

Python Programming Language

blog

O que é Python? Tudo o que você precisa saber para começar

Descubra o poder e a versatilidade de Python neste guia completo. Da história e popularidade às aplicações práticas e um passo a passo de aprendizado, saiba tudo para dominar Python e impulsionar sua carreira em programação.
Summer Worsley's photo

Summer Worsley

15 min

blog

10 habilidades essenciais em Python que todos os cientistas de dados devem dominar

Todos os cientistas de dados precisam ter experiência em Python, mas quais habilidades são as mais importantes para eles dominarem? Descubra as dez habilidades mais importantes em Python no último resumo.

Thaylise Nakamoto

9 min

blog

50+ projetos em Python para todos os níveis em 2026

Explore mais de 50 ideias de projetos em Python, do iniciante ao avançado, incluindo ciência de dados, machine learning, IA e desenvolvimento web para fortalecer seu portfólio.
Data Skills

blog

6 práticas recomendadas de Python para um código melhor

Descubra as práticas recomendadas de codificação Python para escrever os melhores scripts Python da categoria.
Javier Canales Luna's photo

Javier Canales Luna

13 min

Tutorial

21 ferramentas essenciais do Python

Aprenda sobre as ferramentas Python essenciais para o desenvolvimento de software, raspagem e desenvolvimento da Web, análise e visualização de dados e aprendizado de máquina.
Abid Ali Awan's photo

Abid Ali Awan

6 min

Ver MaisVer Mais