Enviar um café pro programador

Como usar o Jupyter Notebook e o Spyder IDE

 Neste tutorial de nossa seção de Programação Científica e Data Science, vamos aprender como abrir e usar nossos ambientes de programação, o Jupyter Notebook e o Spyder IDE.

O foco inicial é conhecer e nos ambientar com eles, para nos tutoriais seguintes, começarmos de fato a programar em Python com foco científico.

Lembrando, esses são apenas duas sugestões para você trabalhar (na apostila, fizemos uma terceira sugestão bem interessante), ou seja, você pode usar o ambiente que desejar (porém, terá que fazer algumas configurações).

Como usar o Spyder para programação numérica com Python

Jupyter - A magia dos notebooks

Você já traduziu 'notebook'? Embora venha a mente o seu computador portátil, um notebook na verdade é um caderno de anotações, ou simplesmente caderno. Ou seja, um lugar onde você pode escrever, desenhar, rabiscar, rasurar, fazer coisas importantes ou não...

E isso é a base do Jupyter: ele usa o conceito de notebook, onde vamos poder, no mesmo local e documento, colocar texto, imagens, vídeos, código HTML, código de programação e o mais legal: rodar nossos códigos. E em diversas linguagens: Python, Julia, R, ...

  • Como abrir o Jupyter e criar um Notebook

Então vamos lá, abra o Jupyter. Veja que ele vai abrir, na verdade, uma página no seu navegador web, no endereço http://localhost:8888/tree

Clique em:

  • File -> New -> Notebook:

Curso de Python com Jupyter Notebook

Um novo notebook, em branco, vai ser criado. Ele vai ter o nome Untitled ou Untitled1.
Clique nesse nome, e renomeie seu projeto para Projeto01:
Como criar um projeto no Jupyter

Veja que a extensão dos notebooks é ipynb (vem de IPython Notebook), são formatos do tipo JSON.
Lembrando que o código de um notebook não é um código puro em Python, pois teremos mais coisas em nossos notebooks.

Porém, é possível sim exportar a parte de programaçao para um script puro de Python ou de outra linguagem que você tenha usado: 
  • File -> New -> Save and Export Notebook As... -> Executable Script

Note que, ao criar seu notebook, já existe uma primeira célula em branco criada:
Editar célula no Jupyter Notebook

Clique dentro, no espaço em branco. E depois no seguinte menu, logo acima:
Modos de edição nas células do Jupyter Notebook

Existem três modos de se editar e usar uma célula no Jupyter:
  1. Code: são células que irão receber um código-fonte de programação, no nosso caso, em Python
  2. Markdown: uma espécie de modo texto mais 'chique', onde você pode colocar letras maiores, menores, alterar cor, negrito, itálico, inserir um código HTML (com imagem, gif, vídeo etc), etc
  3. Raw: significa cru em inglês, uma célula sem nenhum tipo de formatação específica

  • Como usar células no modo Markdown
Selecione Markdown, e insira o texto abaixo dentro da célula:
----------------------------------------------------------------------
# Projeto 01
## Como usar o Jupyter notebook
Neste *notebook*, vamos aprender a editar células de um notebook.
Por exemplo: < br >
_texto itálico_ < br >
~texto riscado~ < br >

Agora vamos aprender como inserir um link. < br >
Basta fazer o seguinte padrão: [Texto a ser exibido do link](url do link) < br >
Por exemplo:

[Curso Python Progressivo](www.pythonprogressivo.net)

1. Vamos fazer uma lista?
2. Acima foi o primeiro elemento, este é o segundo
3. E, por fim, este é o terceiro

* Podemos também criar outros tipos de listas
* Como essas
* Que não são enumeradas, basta usar o asterisco


Já para inserir uma imagem, basta usar a tag < img > do HTML: < br >
< img src="https://www.python.org/static/img/python-logo.png" >

Também é possivel fazer tabelas (utilizaremos bastante no Pandas, em data science):
| A | B | C |
|---|---|---|
| 1 | 2 | 3 |
| 4 | 5 | 6 |


Obviamente, também podemos criar e exibir belíssimas fórmulas do Latex:
Inline:$$E = mc^2$$

Na célula abaixo, vamos usar o código: < br >
`print("Curso de Programação Científica com Python")`
----------------------------------------------------------------------

Agora aperte ctrol+Enter ou aperte o símbolo de Play, para o Jupyter 'rodar' o que você escreveu. Ele vai interpretar o seu riquíssimo texto (richtext).
Quando usou um #, você está no nível 1 de cabeçalho.
Se usar dois ##, vai estar no nível 2 de cabeçalho e assim por diante.

Palavras entre * * ficarão em negrito, entre _ _ em itálico e entre ~ ~ ficarão com um risco.
O comando < br > é do HTML, e gera uma quebra de linha. Se preferir, basta dar enter e deixar uma linha em branco para a quebra ou duas para um parágrafo em branco.

Também é possível criar links dentro de seus notebooks, e também mostramos duas maneiras de criar listas no Jupyter.

Depois inserimos a imagem do logo do site oficial do Python, usando mais uma tag do HTML e em seguida mostramos um exemplo de tabela.

Se está fazendo seu TCC, teses e artigos científicos, vai gostar de saber que também é possível inserir código LaTeX direto no seu notebook.

Além de ser possível escrever e ter um código formatado, mesmo dentro do modo Markdown, basta colocar o código entre ` ` (crase)

  • Como usar células no modo Code

Veja que, mesmo no modo texto, foi preciso o Jupyter 'interpretar' seu código, pois inserimos diversos tipos de informação. E dá pra ir bem mais longe nisso, como por exemplo caso você aprenda HTML (Curso HTML Progressivo)

Mas, pouco se usa o modo Markdown apenas, ele é muito bom para deixar seu notebook mais rico e explicativo, o cerne de tudo vai ser, obviamente, a programação! A computação!

Após rodar a célula anterior, você viu que outra célula, abaixo da primeira, foi criada.
Vá lá, e digite:
print("Curso de Programação Científica com Python")

Selecione o modo Code e rode (alt+enter ou no play). Veja que apareceu o resultado abaixo do código, ainda na mesma célula.  Você digitou o código no In[] da célula e o resultado saiu na linha Out[].

  • Mais maneiras de utilizar o Jupyter
Em nossa apostila e livro Programação Científica com Python, vamos um poucos mais além e mostramos mais algumas utilidades do Jupyter.

Por exemplo, podemos usar ele como um terminal de comandos, para dar instruções diretas em Python, assim como faríamos em nosso computador.

E que tal enviar seu notebook para seus alunos ou colegas? Ou então exportar ele para um belíssimo documento HTML e exibir no seu site? Ou um documento PDF formal e bem padronizado. Tudo isso é possível com o Jupyter.

Também é possível criar e plotar belíssimos gráficos, como Gaussianas, Poisson, histogramas etc. Pode importar um txt com dados, exportar seu resultado para arquivos em seu computador ou mesmo na sua nuvem. Você pode usar a ferramenta que indicamos na apostila e integrar ela diretamente com sua conta Google, e por aí vai.

Muitas vezes, temos algum problema para resolver e não sabemos nem que ferramenta usar ou sequer por onde começar. Saber do que o Jupyter é capaz de fazer e facilitar, é de vital importância para não perdermos tempo em nossos estudos, trabalhos e pesquisas.

Vantagens do Spyder IDE para programação científica

Um Jupyter salva muito. Principalmente se você trabalha em casa, na empresa, na faculdade, dá aulas em locais diferentes...se usar a terceira ferramenta indicada, você vai ter tudo online, na nuvem, onde quer que esteja.

Porém, ainda indico muito ter um programa mesmo, um software, que rode no seu computador, para programar.

Se você for fazer coisas 'pesadas', como muitos cálculos e simulações, aí que vai ser indicado mesmo usar um programa para rodar seus códigos. E para programação científica usando Python, temos uma ferramenta ideal, a IDE Spyder.

Veja algumas das vantagens do Spyder para programar em Python:
  • Editor de textos (que mostra erros, cores diferentes para cada coisa)
  • Janela com os dados das variáveis e o que elas armazenam
  • Explorador de arquivos
  • Guia com o resultado da execução do código
  • Debugging
  • Histórico de comandos

E ele é flexível: você pode ir exibindo ou escondendo os painéis e ferramentas que te forem úteis, como uma janelinha para ir mostrando os gráficos que você vai plotando a medida que programa.

Aqui vale um adendo: se não é programador e nunca teve experiência com programação, não precisa ter medo de uma IDE, ao final do curso você será um programador também. E dos bons. E dos raros, pois vai saber usar programação com ciência, que é algo bem escasso, tanto no mercado como na academia.

Como usar o Spyder IDE

Vamos lá, abra seu Spyder. Ele já vai abrir no editor de texto.
Cole o seguinte código (que gera os números da sequência de Fibonacci):

n = int(input("Que termo deseja encontrar: ")) ultimo=1 penultimo=1 if (n==1) or (n==2): print("1") else: for count in range(2,n): termo = ultimo + penultimo penultimo = ultimo ultimo = termo count += 1 print(termo)

Agora, salve seu arquivo, não esqueça da extensão .py, eu usei Fibo.py
Depois de salvo, aperte F5 ou o botão de 'play', para rodar seu código. Nesse momento, o Python vai começar a interpretar seu código.

Note que tem um painel com o nome "Console", e vai aparecer o texto "Que termo deseja encontrar: " e o script está esperando você digitar um valor. Digite 10, para acharmos o décimo termo da sequência de Fibonacci:
Computação numérica e Data Science com Python


No painel de cima, ele mostra toda as variáveis que usamos no script, seus tipos de dados e valores.
É tudo bem simples e intuitivo.

Em nosso livro, por exemplo, mostramos como exibir a integral da função x³, de -1 até 1:

Como fazer cálculo integral no Spyder

E que tal plotar uma bela de uma Gaussiana?
Como plotar gráficos no Spyder

Também é bem simples, e está na apostila.
Veja que ali na lateral ficam salvas as imagens, tanto dos gráficos gaussianos, como das integrais que calculamos antes.

Bem poderosos, essas ferramentas do Jupyter e Spyder, não é mesmo?
Calma que você ainda não viu nada.

Nenhum comentário:

Postar um comentário