Aula 1 - Sua Excelência, o Python

Aula 1 - Sua Excelência, o Python

O que é o Python, por que usá-lo, e como ele pode ser escrito.

Antes de começarmos a ver linhas e blocos de código para fazer a análise e visualização de dados propriamente dita, é essencial ir esclarecendo alguns pontos e apresentando conceitos importantes, como a linguagem em si. Então, senhoras e senhores, a partir de agora lhes apresento Sua Excelência, a linguagem Python!

Nesta aula, veremos:

  • O que é a linguagem Python e por que utilizá-la ao analisar e visualizar dados;
  • Esclarecer os conceitos de codificação e programação;
  • Entender como escrever os primeiros códigos de Python, seja em linhas de código ou blocos.

O que é o Python, afinal?

O Python é uma linguagem de programação que possui um propósito geral; isso significa que sua concepção se apoia no intuito de atender um grande número de áreas. No caso da análise de dados, o Python é utilizado em boa parte das aplicações, por sua rápida e fácil capacidade de desenvolvimento e processamento.

Há grandes vantagens de usar o Python, nos quais se incluem:

  • O Python é gratuito: ao contrário de muitos softwares de análise de dados que existem por aí, não é necessário a aquisição de licenças ou pagamento de mensalidades para usar o Python. Ele é gratuito, e sempre será.
  • Ele é de código aberto: isso significa que você pode fazer cópias, modificações e reutilizações do Python sem nenhuma preocupação. Esse é um fato importante, pois o uso do Python se torna ilimitado. Você pode criar bibliotecas, algoritmos, e outras aplicações no Python livremente.
  • O Python está disponível nos principais sistemas operacionais: não importa se você usa Windows, Linux ou Mac para fazer suas atividades, o Python estará lá, de diversas formas. Inclusive, projetos como o Google Colaboratory permitem que você use Python tendo apenas acesso à Internet e um navegador.
  • Uma imensa comunidade de desenvolvedores, cientistas de dados e, esperamos a partir de agora, ecólogos usam o Python. Às vezes, você pode se sentir perdido quando for usar o Python, o que é normal. O importante aqui é que, se for buscar respostas para suas dúvidas, quase certamente as achará, pois alguém da comunidade Python também passou pelas mesmas dificuldades. Plataformas como Kaggle e Stack Overflow são ótimos lugares para encontrar respostas para aquilo que você ainda tem dúvida.
  • O Python possui um riquíssimo ecossistema de pacotes/bibliotecas criadas por terceiros: Pesquisadores e desenvolvedores de todos os cantos do mundo desenvolvem diariamente pacotes de códigos em Python para atender as necessidades de várias áreas do conhecimento (a Ecologia, como será visto nas próximas aulas, está entre essas áreas.)

O que é programação? O que é codificação?

Antes de começarmos a ver as primeiras linhas de código em Python para analisar seus dados, é importante esclarecer dois conceitos: o de programação e codificação. Estes termos, apesar de comumente virem juntos, não significam a mesma coisa; 'programar' e 'codificar', portanto, não deveriam ser utilizadas de forma intercalada, como se fossem sinônimos.

Então, o que significam esses dois termos?

Programação é o ato de escrever "programas" que um computador possa executar e produzir alguns (úteis, na maioria das vezes) resultados. Esse é um processo que envolve vários passos, como:

  1. Identificar aspectos do mundo real que podem ser resolvidos computacionalmente;
  2. Identificar uma solução computacional para esses aspectos, focando sempre no que for melhor (mais rápido, mais fácil, mais abrangente possível);
  3. Implementar essa solução em uma linguagem de computação específica;
  4. Testar, validar, e ajustar essa solução implementada de forma frequente.

A codificação é uma parte do processo geral de programação, mais especificamente o terceiro passo: "Implementar a solução em uma linguagem de computação específica". Isso significa, portanto, fazer um processo de transcrição da solução para uma linguagem que possa ser interpretada por um computador. Seria o mesmo que o processo de escrever um texto em um determinado idioma, ou até mesmo escrever uma função matemática; nessas situações, você transfere algo que você pensou/imaginou para o papel ou para uma tela de uma maneira que outros entes (pessoas ou computadores) possam interpretar a mensagem e, quando necessário, fazer mais abstrações sobre ela.

É muito importante notar que, quando falamos na "melhor" solução computacional, temos sempre de considerar fatores muito além do computador. Aspectos como quem usará o programa, quais recursos (sejam financeiros ou mão-de-obra) o projeto possui e, sobretudo, a quantidade de tempo necessária há para formatar tal solução e assim poder extrair o melhor dela.

Agora, que você já tem ideia do que é o Python, e alguns pontos foram esclarecidos, podemos começar a ver como funciona a linguagem.

Primeiras linhas em Python para começar a entender

O Python é uma linguagem interpretada, que pode ser usada de duas principais maneiras:

  • De forma interativa: quando você usa o Python como se fosse uma "calculadora científica", executando um comando de cada vez. Aqui entra os arquivos .ipynb, os chamados notebooks, com os quais trabalharemos na série.

    Um exemplo simples disso é fazer uma operação matemática:

    Python:

    2+2
    

    Output:

    4
    

    Também podemos utilizar como exemplo o caso da função print()

    Python:

    print('Hello world!')
    

    Output:

    Hello world!
    

    Para entender melhor: abra um novo notebook no Google Colab e repita as linhas indicadas como Python acima. Observe os resultados.

  • Em forma de script: quando você vai executar uma série de comandos salvos num arquivo de texto. Usualmente, tais arquivos vêm em extensão .py.

    • Exemplo: imagine que você tenha escrito em um ambiente do Anaconda um comando print('Hello, world!')e o tenha salvo num arquivo meu_script.py. Uma vez que você execute esse arquivo em um console Python, o resultado será a execução do comando que está dentro do arquivo .py. Para fazer a edição do arquivo, você precisará de uma IDE, pois o console apenas faz a execução.

Para as aulas dessa série, como já vimos, usaremos o Jupyter Notebook, seja no Anaconda ou no Google Colab. Nessas plataformas, usaremos a maneira interativa, através de arquivos .ipynb, para aprendermos a mexer com códigos Python, uma vez que trabalharemos com uma ou mais linhas de código, através de blocos.

Exemplificando: toda vez que iniciamos um notebook, precisamos importar algumas bibliotecas para podermos analisar e visualizar dados. Nesse caso, podemos, em vez de executar uma linha de cada vez para importação, puxar todas as bibliotecas de uma só vez usando um bloco de código:

import pandas as pd
import geopandas as gpd
import seaborn as sns
import matplotlib.pyplot as plt

Estes blocos de código podem comportar qualquer quantidade de linhas de código necessárias para performar uma ação em específico. Comumente o notebook é separado em vários blocos de código, obedecendo o princípio de execução de um (bloco de) código por vez.


Nesta primeira aula, apresentamos a linguagem Python de forma mais teórica e prosaica, com uma introdução prática muito breve. Nas próximas aulas, iniciaremos a parte prática da série, misturando a teoria com códigos para fazer suas primeiras análises em Python, e assim entrar de vez no mundo dos dados e da programação.

Para ir conhecendo mais do Python, aproveite para explorar as referências dos hyperlinks, da seção Para ler mais, e da literatura recomendada. É um material complementar que, a cada aula, proverá variadas visões e modos de explicar os assuntos abordados em cada post.

Espero que a série possa te beneficiar o máximo possível. Um grande abraço e até a próxima aula!


Para ler mais:

Literatura recomendada:

  • Pense em Python, de Allen B. Downey (Library Genesis)
  • Learn to Program with Python 3: A Step-by-Step Guide to Programming, de Irv Kalb (Library Genesis)
  • Beginning Programming with Python (Série For Dummies), de John Paul Mueller (Library Genesis)
  • Starting out with Python, de Tony Gaddis (Library Genesis)
  • Learn Python Visually, de Tristan Bunn (Library Genesis)
  • Python Basics: A Practical Introduction to Python 3, de Fetcher Heisler, David Amos, Dan Bader, e Joanna Jablonski, do site Real Python (Library Genesis)
  • Beyond the Basic Stuff with Python, de Al Sweigart (Library Genesis)
  • Python in a Nutshell: A Desktop Quick Reference, de Alex Martelli, Anna Ravenscroft, e Steve Holden (Library Genesis)