Artigo original: What is Python Used For? 10+ Coding Uses for the Python Programming Language.

Traduzido em português europeu

🔹 Boas-vindas

Olá! Por favor, reflete um pouco sobre esta questão:

Como é que o Python aplicado em cenários do mundo real?

Se estás a aprender Python e desejas saber a resposta, então este artigo é para ti.

Ter uma ideia clara das aplicações e do vasto potencial desta linguagem de programação vai trazer-te a motivação que precisas ao longo da tua jornada.

Vamos começar! ✨

🔸 Python em cenários do mundo real

O Python é utilizado em virtualmente toda a indústria e campo científico que possas imaginar, incluindo:

Este artigo aborda uma grande variedade de aplicações desta linguagem de programação nestas áreas com exemplos, casos de utilização e bibliotecas do Python. Vamos começar pelas aplicações do Python em ciências da informação.

🔹 Ciências da informação: análise e visualização

image-25
Visualização de dados de amostra das galerias do Matplotlib e do Seaborn

Ciências da informação é talvez uma das aplicações mais populares do Python. O poder que as bibliotecas do Python desenvolvem para a análise e visualização de dados é incrível. Vamos ver o porquê.

Aplicações em Ciências da informação

Com uma biblioteca do Python de visualização de dados, podes criar uma grande variedade de diagramas e representações visuais, tais como:

  • Linhas, barras e marcadores
  • Imagens, contornos e campos
  • Sub-diagramas, eixos e figuras
  • Estatísticas (diagramas de caixas, gráficos de barras e histogramas)
  • Gráficos circulares e polares
  • Diagramas em 3D
  • e muito mais!

Podes adicionar texto, etiquetas, notas, cores, formas, coleções, animações e interatividade aos teus diagramas, dependendo do pacote ou biblioteca com que escolheres trabalhar.

💡 Dica: na imagem acima, podes ver alguns exemplos de visualizações de dados geradas com o Python.

Bibliotecas e pacotes

Vamos ver alguns dos pacotes e bibliotecas mais populares para trabalhar com o Python em ciências da informação:

Python para análise de dados

  • NumPy: este pacote é descrito como "o pacote fundamental para computação científica com o Python". De acordo com o site oficial deste pacote, "praticamente todos os cientistas a trabalhar em Python utilizam o poder do NumPy."
  • Pandas: é "uma ferramenta de análise de dados open-source rápida, potente, flexível e fácil de utilizar."

Python para visualização de dados

  • Matplotlib: é "uma biblioteca compreensiva para criar visualizações estáticas, animadas e interativas em Python." Se tiveres curiosidade sobre o que podes fazer com esta biblioteca, dá uma vista de olhos à galeria de exemplos.
  • Seaborn: é "uma biblioteca de visualização de dados do Python com base no matplotlib." Se tiveres curiosidade sobre o que podes fazer com esta biblioteca, dá uma vista de olhos à galeria de exemplos.
  • ggplot2: é "um sistema para criar gráficos declarativamente, com base em The Grammar of Graphics". De acordo com o site oficial: "podes fornecer dados, indicar ao ggplot2 como mapear variáveis para melhor estética, que primitivas gráficas utilizar, e este trata dos detalhes."
  • Bokeh: é "uma biblioteca de visualização interativa para browsers modernos".
  • Pandas: esta biblioteca tem muitas ferramentas para visualização de dados.

Recursos de aprendizagem

Se quiseres aprender mais sobre análise e visualização de dados utilizando Python, Jupyter Notebooks, Numpy, Pandas, ficheiros CSV, data frames e muito mais, podes começar o teu caminho com a Certificação de Análise de Dados com Python do freeCodeCamp, de forma gratuita:

image-34
Imagem da certificação no currículo do freeCodeCamp, mas também podes ter acesso em português aqui.

Durante a certificação, podes trabalhar e completar estes projetos:

  • Calculadora de média-variação-desvio padrão.
  • Analisador de dados demográficos.
  • Visualizador de dados médicos.
  • Visualizador de séries temporais de exibição de página.
  • Previsor do nível do mar.

O canal de Youtube do freeCodeCamp também tem estes ótimos tutoriais gratuitos para te ajudar na iniciação (em inglês):

Além disso, estes são recursos úteis caso queiras aprender a trabalhar com estas bibliotecas (em inglês):

🔸 Machine Learning

image-1

O Python é uma ferramenta essencial para qualquer programador que queira entrar na área fascinante do Machine Learning. Vamos ver uma breve introdução ao Machine Learning.

O que é Machine Learning?

Machine Learning é uma área da Ciência da Computação que cria sistemas que são capazes de aprender por conta própria.

Este tipo de sistema utiliza algoritmos que são melhorados continuamente com base nos dados de input que ajudam o sistema a "aprender". Este aprende a responder de forma autónoma a novos cenários ao gerar um resultado adequado em novos cenários com base em conhecimento obtido anteriormente.

Uma das coisas mais incríveis sobre estes sistemas é que estes são refinados de forma contínua.

Não são como os programas que escrevemos tipicamente num script de Python, onde especificamos todas as ações possíveis que o programa pode realizar. Em Machine Learning, o sistema é treinado para "pensar" e tomar decisões com base em conhecimento anterior.

É por isso que dizemos que as máquinas "aprendem" com a informação.

💡 Dica: esta é uma conversa interessante do Google: Machine Learning do Zero a Herói (Google I/O'19) – em inglês.

Redes neurais: os blocos de construção do Machine Learning

Redes neurais são as unidades de processamento do sistema. Estas tentam simular uma rede real de neurónios do cérebro. Estes "neurónios" virtuais recebem input, aprendem como processar esse input e geram um resultado com base em conhecimento adquirido anteriormente.

Isto é muito semelhante ao que o nosso cérebro faz em todos os momentos de todos os dias.

Graças às redes neurais, um algoritmo de Machine Learning pode aprender como prever o resultado esperado de um determinado input com base em conhecimento adquirido anteriormente.

Por exemplo, quando vês vídeos recomendados no YouTube, essas recomendações foram geradas por redes neurais que fazem uma previsão de que vídeos podes gostar com base nos teus padrões anteriores. Incrível, certo?

💡 Dica: este é um artigo interessante do Google (em inglês) se gostarias de saber mais sobre este exemplo do YouTube.

Python e Machine Learning

Tenho a certeza que deves estar a perguntar: qual é o papel do Python nesta área? É uma das ferramentas mais potentes e populares utilizada para programar este tipo de sistema.

Uma das bibliotecas mais populares utilizadas por programadores à volta do mundo para trabalhar com o Python aplicado a Machine Learning é o TensorFlow. É uma biblioteca de código aberto desenvolvida pela Google Brain Team. Esta biblioteca é utilizada para investigação e produção na Google.

De acordo com Jeff Dean, o líder do departamento de Inteligência Artificial da Google:

Hoje em dia é muito utilizado nos nossos sistemas de reconhecimento de voz, num novo produto da Google Photos, no Gmail e no Google Search. (fonte)

A melhor parte é que programadores em todo o mundo podem utilizar esta biblioteca para lidar com problemas do mundo real.

💡 Dica: este é um óptimo vídeo sobre TensorFlow, feito pela Google (em inglês).

Estas são outras duas bibliotecas populares do Python utilizadas para Machine Learning:

  • Keras – uma biblioteca de redes neurais de código aberto escrita em Python.
  • PyTorch – uma biblioteca de Machine Learning de código aberto utilizada para desenvolver e treinar redes neurais.

Projetos de Machine Learning em Python

O potencial do Machine Learning não tem limites. Pode ser aplicado em virtualmente qualquer área e contexto que possas imaginar. Se a tarefa precisar de aprender a partir de padrões e prever um resultado, então, um modelo de Machine Learning pode realmente ajudar.

Por exemplo, para te dar uma ideia do tipo de objetos que podes criar, o currículo do freeCodeCamp inclui uma Certificação gratuita em Machine Learning com Python:

image-40
Certificação no currículo do freeCodeCamp, mas também podes ter acesso em português aqui.

Durante a certificação, trabalhas e finalizas estes projetos:

  • Pedra Papel Tesoura.
  • Classificador de imagens de gatos e cães.
  • Motor de recomendação de livros utilizando vizinhos de proximidade K.
  • Calculadora de custos de saúde com regressão linear.
  • Classificador de rede neural de SMS.

Mais exemplos de aplicações no mundo real

Podes encontrar mais exemplos de aplicações de Machine Learning no Kaggle, uma "comunidade on-line de cientistas de dados e praticantes de Machine Learning", propriedade da Google.

Nesta plataforma, podes praticar as tuas habilidades de Python e Machine Learning ao trabalhar em projetos e participar em competições.

Para te dar uma ideia do tipo de projetos que podes enfrentar com Machine Learning, competições anteriores do Kaggle incluem:

  • Prever o declínio do funcionamento pulmonar
  • Prever a sobrevivência no Titanic
  • Criar ferramentas para monitorizar a população de aves
  • Etiquetar pontos de referência famosos
  • Prever a propagação do COVID-19
  • Estimar as vendas unitárias de artigos de retalho do Walmart
  • Identificar vídeos com manipulações de face ou som
  • Prever tempos de espera nos cruzamentos de grandes cidades
  • Detetar fraude em transações de clientes
  • Prever a receita de bilheteira mundial de um filme
  • Prever adoção de animais de estimação
  • Identificar o risco quando os pilotos estão distraídos, sonolentos, ou em outros estados cognitivos perigosos

Como podes ver, apenas nesta pequena lista de projetos, as aplicações variam de medicina a negócios, de biologia a deteção de riscos e de deteção de fraudes a processamento de imagens. As possibilidades são realmente sem limites quando enfrentamos problemas do mundo real com Machine Learning.

Recursos de aprendizagem

O canal de YouTube do freeCodeCamp tem estes tutoriais bastante úteis para te ajudar a começar a trabalhar com Machine Learning em Python (em inglês):

🔹 Desenvolvimento para a web

image-41

O Python é utilizado no ramo de desenvolvimento para a web para criar aplicações da web de back-end. Vamos começar esta secção ao falar um pouco sobre o que é back-end e como nos ajuda a criar aplicações da web.

Python para desenvolvimento para a web em back-end

Numa aplicação da web, todo o código utilizado para interagir com o utilizador e criar o que o utilizador vê chama-se o front-end da aplicação.

O Python é utilizado para programar nos bastidores funcionalidades da aplicação, a parte que alimenta toda a funcionalidade da aplicação, mas que não podes ver diretamente no ecrã.

Este lida com o lado do servidor da aplicação, ao interagir com todas as bases de dados necessárias quando um utilizador solicita informação. Este devolve a informação solicitada ao utilizador para fazer com que a aplicação funcione como esperado.

💡 Dica: desenvolvimento para a web full-stack envolve as partes do front-end e do back-end de uma aplicação web de modo a torná-la apresentável ao utilizador enquanto trabalha com bases de dados.

Frameworks Web

Estas são algumas frameworks web populares do Python:

  • Django: uma "framework Web de alto nível do Python que incentiva desenvolvimento rápido e design limpo e pragmático."
  • Flask: uma micro-framework muito popular utilizada para desenvolver aplicações da web em Python.
  • Pyramid: uma "framework web do Python pequena, rápida e prática."
  • Web2Py: uma "framework full-stack de código livre para desenvolvimento rápido de aplicações baseadas na web e orientadas a bases de dados rápidas, escaláveis, seguras e portáteis."
  • Bottle: uma "framework web WSGI micro que é rápida, simples e leve para Python."

Recursos de aprendizagem

O canal de YouTube do freeCodeCamp tem óptimos tutoriais gratuitos para aprender desenvolvimento web em Python (em inglês):

Estes são também bons recursos gratuitos para aprender como trabalhar com estas frameworks (em inglês):

🔸 Educação em Ciências da Computação

image-4

Atualmente, o Python tem um papel muito importante na educação em Ciências da Computação por todo o mundo. Vamos ver o porquê.

Por que Python?

O Python é utilizado mundialmente como ferramenta de ensino porque:

  • É fácil de aprender: a sua sintaxe é simples e pode ser aprendida rapidamente. Os alunos começam a abordar aspetos mais avançados de ciências da computação de maneira muito mais rápida do que com outras linguagens de programação.
  • É potente: é utilizado em aplicações do mundo real, então os alunos começam a adquirir imediatamente habilidades muito importantes para as suas carreiras profissionais.
  • É versátil: suporta vários paradigmas da programação, incluindo programação imperativa, programação funcional, programação processual e programação orientada a objetos.

O criador da linguagem Python, Guido van Rossum, afirmou que:

Neste momento, acredito que o Python é muito mais fácil de ensinar os alunos a programar do que ensinar-lhes C, C++ ou Java, tudo ao mesmo tempo, porque todos os detalhes das linguagens são muito mais complicados.

A sintaxe do Python é simples e direta. Por isso, os alunos começam a aprender pensamento computacional e habilidades de resolução de problemas de maneira muito mais rápida, que é geralmente o objetivo principal dos cursos introdutórios de ciências da computação.

Python na sala de aula e aprendizagem on-line

Muitas universidades e escolas à volta do mundo decidiram ensinar programação introdutória e cursos de ciências da computação utilizando Python.

Por exemplo, o MIT, uma das principais universidades de todo o mundo na área da tecnologia, ensina ciências da computação introdutória e programação utilizando Python (nas versões presenciais e on-line no edX).

De acordo com um artigo de notícias do MIT (em inglês), publicado quando a versão on-line do curso atingiu 1,2 milhões de inscrições, o curso "tornou-se o MOOC mais popular da história do MIT".

Isto mostra claramente que a popularidade do Python continua a crescer. No artigo, podes encontrar testemunhos de alunos que aprenderam Python e como este novo conhecimento melhorou as suas vidas.

No artigo, a professora Ana Bell, docente no departamento EECS do MIT, afirma que:

“No seu núcleo, a série 6.00 ensina pensamento computacional... Faz isto ao utilizar a linguagem de programação Python, mas o curso também ensina conceitos de programação que podem ser aplicados em qualquer outra linguagem de programação.”

Isto mostra claramente o potencial do Python como uma ferramenta de ensino. Pode ser utilizado para ensinar conceitos de alto nível que podem ser aplicados a outras linguagens de programação.

Ele faz isto sem a camada extra de complexidade que a sintaxe de outras linguagens de programação, como Java ou C, podem adicionar ao processo de ensino.

Durante os últimos anos, os cursos on-line tornaram-se uma parte importante do dia a dia de alunos de todas as idades por todo o mundo. A variedade de cursos e recursos on-line gratuitos expandiu de forma tremenda nos últimos anos.

Por exemplo, o currículo do freeCodeCamp inclui três certificados gratuitos com projetos para te ajudar a expandir as tuas habilidades em Python em áreas importantes com grande procura mundialmente:

  • Computação Científica com Python.
  • Análise de Dados com Python.
  • Machine Learning com Python.

A Universidade de Harvard também oferece estes cursos on-line que podes experimentar gratuitamente:

  • Introdução à Ciência da Computação CS50.
  • Programação para a web com Python e Javascript CS50.
  • Introdução à Inteligência Artificial com Python CS50.

O Python tornou-se definitivamente uma ferramenta importante que melhorou o ensino de ciências da computação mundialmente. Ele vai continuar a fazê-lo no futuro.

Se estás a ponderar lecionar um curso utilizando Python ou aprender Python, garanto-te que o teu tempo e esforço vai valer totalmente a pena.

🔹 Visão computacional e processamento de imagens

image-45

O Python é utilizado para visão computacional e processamento de imagens, áreas que estão em rápida expansão.

O objetivo do processamento de imagens é processar um imagem, aplicar-lhe transformações e devolver uma nova versão da imagem original.

Em contrapartida, o objetivo da visão computacional é mais complexo, pois tenta fazer com que o computador compreenda e interprete uma imagem e o seu conteúdo.

Processamento de imagens

Vamos começar pelo processamento de imagens. Com uma biblioteca do Python, podes realizar operações como:

  • Cortar, inverter e rodar.
  • Manipular a exposição e os canais de cor.
  • Detetar limites e linhas.
  • Adicionar filtros e restaurar imagens.

Visão computacional

Agora, vamos abordar a visão computacional. Se começares a pesquisar sobre este assunto, podes surpreender-te com as aplicações que tem atualmente. Algumas delas são:

  • Navegação.
  • Deteção de objetos e eventos.
  • Reconhecimento facial.
  • Classificação de imagens.

Esta área científica é tão importante que a Google desenvolveu uma ferramenta chamada Cloud Vision, que tem uma versão em Python para os programadores poderem incorporá-la nos seus programas.

De acordo com o tutorial "Utilizar a API Vision com Python" no Google Codelabs, a API Google Cloud Vision:

Permite aos programadores integrar facilmente características de deteção de vista dentro das aplicações, incluindo rotular imagens, deteção de faces e paisagens, reconhecimento óptico de personagens (OCR) e criar etiquetas para conteúdo explícito.

Este conjunto de ferramentas fornece funcionalidades para reconhecimento facial, paisagístico, de logotipos, de etiquetas, de texto e muito mais.

💡 Dica: uma das aplicações mais incríveis da visão computacional é o desenvolvimento de software para controlar carros de condução autónoma. Estes veículos precisam de "ver" para onde estão a ir, onde está a faixa de rodagem, e que objetos estão à sua volta (incluindo outros veículos). Visão computacional tem um papel fundamental nesta funcionalidade.

Bibliotecas do Python

Estas são algumas bibliotecas incríveis para visão computacional e processamento de imagens:

  • OpenCV: uma "biblioteca de código aberto de visão computacional e software machine learning". A sua versão em Python chama-se OpenCV-Python.
  • scikit-image: uma "coleção de algoritmos utilizado para processamento de imagens".
  • NumPy: pode ser utilizada para processar os pixeis de uma imagem como um array 2D.
  • SciPy: o pacote scipy.ndimage "contém várias funções para processamento de imagens multidimensional."

🔸 Desenvolvimento de jogos

image-6

Os jogos definitivamente moldam vidas e criam memórias inesquecíveis. Vão continuar a ser parte da nossa sociedade por muitos anos. O Python já lá está, a iluminar o caminho da criação de jogos.

Frameworks Python para o desenvolvimento de jogos

De acordo com a documentação oficial do Python, existem duas frameworks Python principais utilizadas para desenvolver jogos:

  • pygame: "o pacote original e ainda muito ativo para desenvolvimento de jogos utilizando o Python. Permite que o Python comunique com a SDL, uma biblioteca multimédia, multiplataforma. Como é necessário ser compilada para cada plataforma e para cada versão do Python, pode existir alguma demora quando chega uma nova versão do Python."
  • pyglet: este é "o recém-chegado, com base no OpenGL. Como é um pacote puro do Python, pode ser utilizado tal como está mesmo quando é lançada uma nova versão do Python (excepto para a transição da versão Python 2 para Python 3)."

Também podes utilizar o módulo turtle para criar jogos simples. O Turtle é um módulo incorporado do Python que é instalado automaticamente assim que instalas o Python no teu computador. Ajuda-te a criar jogos com gráficos simples e com uma interface de utilizador simples.

Recursos de aprendizagem

Se quiser aprender a desenvolver jogos em Python, o canal de YouTube do freeCodeCamp tem estes óptimos tutoriais gratuitos (em inglês):

🔹 Medicina e farmacologia

image-9

O Python também tem aplicações incríveis na área da medicina. Vais surpreender-te com a maneira como a tecnologia está a ser combinada com o conhecimento médico para fornecer diagnósticos eficientes e precisos, assim como tratamentos a pacientes.

Aplicações

Alguns exemplos da utilização do Python na medicina e farmacologia incluem:

  • Criar diagnósticos clínicos com base nos registos médicos e sintomas do paciente.
  • Analisar dados médicos.
  • Criar modelos computacionais para aumentar a velocidade do processo de desenvolvimento de novas medicações.

Estas amplas aplicações incluem milhares de milhares de exemplos por todo o mundo. Selecionei alguns deles para ilustrar como o Python está a moldar este ramo. Vamos observar alguns deles.

História de sucesso farmacêutico: AstraZeneca

De acordo com a documentação oficial do Python, uma das empresas farmacêuticas lideres mundiais, AstraZeneca, utilizou o Python para melhorar os seus modelos computacionais existentes para torná-los "mais robustos, extensíveis e fáceis de fazer manutenção".

Os investigadores utilizaram estes modelos para simular a estrutura química das moléculas e o seu efeito no corpo. Isto ajudou os cientistas a identificar potenciais moléculas para novas drogas e começar a testá-las mais rapidamente no laboratório.

Quando se juntou à equipa, Andrew Dalke, sendo ele um "defensor bem conhecido da utilização do Python em química computacional e biologia", convenceu a equipa que o Python era exatamente o que precisavam.

O Python foi escolhido para este trabalho porque é uma das melhores linguagens disponíveis para cientistas da físicos, ou seja, para pessoas que não têm formação em ciências da computação.

Ele afirmou que:

O Python foi desenhado para resolver problemas do mundo real enfrentados por um programador experiente. O resultado é uma linguagem que escala bem desde scripts pequenos escritos por um químico, até grandes pacotes escritos por um programador de software.

Incrível, certo? O Python pode potenciar os modelos computacionais que os laboratórios farmacêuticos utilizam para desenvolver novas drogas.

Identificação de glóbulos vermelhos

Outra aplicação médica interessante do Python está relacionada à Hematologia. Geralmente, profissionais especializados analisam testes ao sangue ao contar e identificar células manualmente, mas isto pode ser melhorado com a ajuda da automatização.

Investigadores descobriram que o Python pode ser a ferramenta certa para o trabalho. Vamos ver um projeto interessante.

IdentiCyte
O objetivo deste projeto é identificar e classificar formatos de glóbulos vermelhos com base em imagens obtidas de microscópios ópticos. De acordo com este artigo, "o formato dos glóbulos vermelhos pode ajudar a diagnosticar doenças e distúrbios, tais como leucemia, anemia e malária."

O projeto foi desenvolvido por investigadores do Instituto de Pesquisa de Processamento de Biorrecursos da Austrália. Foi programado em Python e utilizou pacotes de processamento de imagens e bibliotecas do Python tais como numpy, scipy, opencv-python, scikit-learn e matplotlib.

Pacotes médicos do Python

  • pyGeno: um pacote de código livre do Python desenvolvido por Tariq Daouda no Instituto de Investigação em Imunologia e Cancro (IRIC). É destinado para "aplicações medicinais precisas que revolvem à volta de genómica e proteómica". Funciona com referências e genomas personalizados.
  • MedPy: uma biblioteca de código livre do Python "para processamento de imagens médicas em Python, fornecendo funcionalidades básicas para leitura, escrita e manipulação de grandes imagens de dimensões arbitrárias."

Aplicações médicas no mundo real (exemplos)

🔸 Biologia e bioinformática

image-7

O Python também tem aplicações incríveis no mundo da Biologia e da Bioinformática. Estas incluem processar sequências de ADN, simular dinâmicas e genéticas da população e modelar estruturas bioquímicas.

Biopython

Biopython é uma framework do Python com "ferramentas disponíveis gratuitamente para computação biológica". O seu objetivo é "lidar com as necessidades do trabalho atual e futuro em bioinformática."

De acordo com a sua documentação, esta framework inclui funcionalidades tais como a habilidade de:

  • Trabalhar com sequências e realizar operações comuns nas sequências tais como transcrição, translação e cálculo de peso.
  • Conectar com bases de dados biológicas.
  • Realizar classificação de dados utilizando vizinhos de distância K, Naive Bayes e máquinas de vetor de suporte.
  • Trabalhar com árvores filogenéticas e genéticas de população.

A documentação afirma que "o objetivo do Biopython é tornar tão fácil quanto possível utilizar Python para bioinformática ao criar módulos e classes de alta qualidade e reutilizáveis."

Rosalind: praticar Python ao resolver desafios de bioinformática

image-46

Rosalind é "uma plataforma para aprender bioinformática através da resolução de problemas." É "grátis e disponível para o público" (a página de FAQs indica que está em modo beta).

O Python pode ser utilizado para resolver os desafios na plataforma. Visto que esta é uma linguagem muito popular na plataforma, existe uma secção "Python Village" onde podes aprender os conceitos básicos do Python antes de lidar com algoritmos de bioinfomática.

Os utilizadores resolvem os problemas ao executar as suas soluções no seu computador, processam um determinado dataset e copiam/colam o resultado para verificar a resposta.

💡 Dica: o nome do projeto homenageia Rosalind Franklin, "cuja cristalografia de raios-X com Raymond Gosling facilitou a descoberta da hélice dupla do ADN por Watson e Crick".

Pacotes e frameworks

  • ProDy: um pacote gratuito e de código livre "para análises de estrutura dinâmica da proteína" desenvolvido por Bahar Lab na Universidade de Pittsburgh.
  • PySB: uma "framework para criar modelos matemáticos de sistemas bioquímicos como programas Python" desenvolvida por membros do Laboratório Lopez da Universidade de Vanderbilt e do Laboratório Sorger da Faculdade de Medicina de Harvard.
  • O Simulador da Comunidade: este é um "pacote do Python disponível gratuitamente para simular dinâmicas de população microbiana numa forma reproduzível, transparente e escalável" desenvolvido por investigadores da Universidade de Boston.

💡 Dica: se quiseres saber mais sobre as aplicações do Python em Bioinformática, aqui está uma palestra de Martin Schweitzer na PyCon Austrália: "Python para Bioinformática para aprender Python" (em inglês).

🔹 Neurociência e psicologia

image-37

O Python também tem aplicações em neuro-ciência e investigação de psicologia experimental.

Python na neurociência

De acordo com o artigo Python na neurociência escrito por investigadores do Centro pra Simulação Cerebral, Escola Federal Politécnica de Lausanne, Genebra, Suíça (em inglês):

A computação está a tornar-se essencial ao longo de todas as ciências, para aquisição e análise de dados, automatizações, e teste de hipóteses via modelação e simulação.

No que toca ao Python, afirmaram que:

Ficou claro para nós em 2007 que estávamos à beira do surgimento do Python no ecossistema da neurociência, particularmente em neurociência computacional e neuroimagens, mas também na análise de dados eletrofisiológicos e em psicofísica.

Como podes ver, o Python e a computação têm vindo a aumentar a sua presença ao longo de todas as ciências.

PsychoPy

PsychoPy é "um pacote de código livre para executar experiências em Python" suportado pela Universidade de Nottingham. De acordo com a documentação oficial deste pacote:

É utilizado mundialmente por muitos laboratórios para psicofisica, neurociência cognitiva e psicologia experimental.

O site oficial deste pacote afirma que ele é:

  • Fácil de aprender.
  • Suficientemente preciso para psicofisica.
  • Flexível.
  • On-line ou em laboratório, com base na preferência do utilizador.

🔸 Astronomia

image-38

O Python também tem aplicações em astronomia e astrofísica. Vamos ver três dos principais pacotes do Python utilizados nesta área científica:

Astropy

O pacote Astropy "contém várias classes, utilidades e uma framework de packaging que tem o objetivo de fornecer ferramentas de astronomia de uso comum."

Astropy faz parte de um projeto maior chamado The Astropy Project, que é "um esforço comunitário para desenvolver um pacote comum essencial para Astronomia em Python e promover um ecossistema para pacotes de astronomia interoperáveis."

De acordo com esta página About, um dos seus objetivos é "melhorar a usabilidade, a interoperabilidade e a colaboração entre pacotes de astronomia do Python."

💡 Dica: podes ver exemplos de projetos feitos com o Astropy na galeria de exemplos.

SunPy

O pacote SunPy é descrito como "o ambiente de análise de dados solares desenvolvido pela comunidade, gratuito e de código livre, para o Python." Este tem como base os recursos de pacotes Python como NumPy, SciPy, Matplotlib e Pandas.

image-47
Imagens da galeria de exemplos do SunPy

SpacePy

O pacote SpacePy é "um pacote para o Python, focado em ciências espaciais, que tem como objetivo realizar simples análises de dados, modelação e visualizações mais fáceis."

De acordo com a sua documentação oficial:

O projeto SpacePy procura promover padrões de investigação precisos e diretos ao fornecer um ambiente livre para desenvolvimento de código.

De acordo com a descrição do seu repositório do GitHub, tem classes epoch sobrepostas, rastreamento de projéteis à deriva, acesso a modelos de campos magnéticos, rastreamento de streamline, inicialização de limites de confiança, conversões de tempo e coordenadas e muito mais.

🔹 Outras aplicações

O Python também pode ser aplicado em muitas outras áreas, incluindo:

  • Robótica: o Python pode ser utilizado para programar robôs. Uma biblioteca escrita para este propósito é a pybotics, "uma caixa de ferramentas do Python de código livre para mecânicas e calibrações de robôs".
  • Veículos autónomos: o Python pode ser utilizado para programar o software que controla carros de condução autónoma. Estes carros precisam de visão computacional para "ver" para onde estão a ir, onde está a faixa de rodagem e que objetos estão à sua volta.
  • Meteorologia: o pacote climate-indices "contém implementações Python de vários algoritmos de índices climáticos, que fornecem uma imagem geográfica e temporal da severidade da precipitação e anomalias de temperatura, úteis para a monitorização e investigação climática."
  • Negócios: o Python pode ser uma ferramenta poderosa para analisar dados gerados por negócios e para prever tendências futuras.
  • Desenvolvimento de interfaces gráficas de utilizador (GUI): o Python pode ser utilizado para criar interfaces gráficas de utilizador com ferramentas como o tkinter.
  • Se tiveres interesse em aprender mais sobre isto, o freeCodeCamp tem um óptimo tutorial no YouTube: Curso de Tkinter - Tutorial de Criação de Interfaces Gráficas de Utilizador em Python (em inglês).

🔸 Em suma

Existem muitas aplicações do Python em todas as áreas que podes imaginar. Espero que este artigo te tenha dado uma ideia da grande variedade de aplicações no mundo real desta linguagem de programação em indústrias que estão a moldar o mundo atualmente.

Lembra-te que, independentemente da área em que estás ou da área em que queres estar, aprender Python vai abrir certamente muitas portas para ti. Está aqui para ficar. Ele transformou e melhorou o nosso mundo e vai continuar a fazê-lo por muitos anos.

Espero que tenhas gostado do artigo e que o tenhas achado útil. Dá uma vista de olhos aos cursos on-line da autora. Segue-a no Twitter. ⭐️