3.2. IPython

IPython

O IPython é um ambiente projetado para Computação Interativa. Um dos aplicativos desse ambiente é o terminal IPython, mostrado na Figura 3.7. Para entrar nesse terminal, você deve ter o ambiente instalado, como por exemplo, através da disribuição Anaconda. No terminal de comandos do seus sistema operacional, shell Linux ou prompt da Anaconda no Windows, entre o comando ipython, como mostrado na figura.

Terminal interativo IPython

Figura 3.7 - Terminal interativo IPython.

O prompt do IPython utiliza uma notação diferente da usada no terminal Python, ao invés do tradicional >>>, temos In [N]: (Figura 3.8). Além disso, alguns resultados também apresentam um prompt Out[N]:.

Numeração das computações e resultados no terminal interativo IPython

Figura 3.8 - Numeração das computações e resultados no terminal interativo IPython.

Repare na Figura 3.9 que as constantes literais numéricas, assim como a função print, são devidamente realçadas nesse terminal. Além disso, ele possui recurso de auto-completar. No exemplo da figura, após o separador ., foi utilizada a tecla TAB para apresentar as opções de métodos disponíveis para o objeto associado ao identificador seq_fibonacci. As teclas de direção (setas) podem ser utilizadas para selecionar a opção desejada.

Realce de sintaxe e recurso de auto-completar do terminal interativo IPython

Figura 3.9 - Realce de sintaxe e recurso de auto-completar do terminal interativo IPython.

O recurso de auto-completar do IPython pode inclusive ser utilizado com expressões mais complexas, como a mostrada na Figura 3.10, onde o elemento 0 da lista L é usado para determinar os métodos disponíveis para o objeto resultante da expressão L[0].

Introspecção de código no terminal do IPython

Figura 3.10 - Introspecção de código no terminal do IPython.

Esse terminal do IPython possui alguns comandos úteis para obtenção de mais informações sobre o ambiente e os objetos criados na sessão interativa. A Tabela 3.1 apresenta um resumo desses comandos.

Tabela 3.1 - Comandos úteis Ipython.

Comando

Descrição

?

apresenta informações sobre os recursos do IPython (Figura 3.11).

%quickref

apresenta uma janela com referências rápidas para os comandos do IPython (Figura 3.12).

help()

acessa o sistema de ajuda da linguagem Python (Figura 3.13).

objeto?

apresenta detalhes sobre um determinado objeto (Figuras 3.14 e 3.15).

objeto??

apresenta mais detalhes sobre o objeto (Figura 3.16).

Informações gerais sobre o IPython

Figura 3.11 - Informações gerais sobre o IPython.

Janela de referência dos principais comandos no IPython

Figura 3.12 - Janela de referência dos principais comandos no IPython.

Acessando o sistema de ajuda do Python no terminal IPython

Figura 3.13 - Acessando o sistema de ajuda do Python no terminal IPython.

Detalhando o objeto associado ao identificador "seq_fibonacci" através do caractere "?" no terminal IPython

Figura 3.14 - Detalhando o objeto associado ao identificador seq_fibonacci através do caractere ? no terminal IPython.

Detalhando o identificador "date" através do caractere "?" no terminal IPython

Figura 3.15 - Detalhando o identificador date através do caractere ? no terminal IPython.

Detalhando o identificador "date" através do caractere "??" no terminal IPython

Figura 3.16 - Detalhando o identificador date através dos caracteres ?? no terminal IPython.

Portanto, o terminal interativo IPython possui capacidade de destacar símbolos da linguagem Python, possui recursos avançados de auto-completar (tab completion) que inclui introspecção do objeto em questão para determinar atributos e métodos, manutenção do histórico de comandos, capacidade de execução de comandos do sistema operacional integrados com a linguagem, além de forte suporte para visualização interativa e computação distribuída e paralela.

Nota

A documentação do IPython encontra-se disponível em [77].