Chapter 1. IPython: Beyond Normal Python Flashcards
O que é o IPython e para que serve?
IPython é um interpretador python otimizado para pesquisa científica e computação data-intensive. Possui adendos para a sintaxe normal e uma estrutura de Jupyter Notebook integrada. Atualmente, ao instalar o Jupyter, automaticamente será instalado e utilizado o IPython como kernel.
O que são as magic functions do IPython?
As magic functions são adendos ao Python adicionados pelo IPython que permitem realizar alguma função especial e começam pelo caractere %
Quais são as magic functions citadas pelo autor?
Pasting Code Blocks: %paste, %cpaste
Running External Code: %run
Timing Code Execution: %timeit
History: %history
Automagic Functions: %cat, %cp, %env, %ls, etc…
Errors and Debugging: %xmode, %debug, %run -d
Profiling and Timing Code: %time,%timeit, %prun, %lprun, %memit, %mprun
Qual a diferença entre chamar uma magic function por % e %%?
% -> line magics: atua sobre uma linha de input
%% -> cell magics: atua sobre um bloco de código de input
Para que serve o ; em uma linha de código?
Serve para suprimir o output. O resultado não é apresentado na tela, nem armazenado no output history.
Para que serve o ! em uma linha de código?
É uma forma de alterar entre o kernel do iPython e o terminal do sistema operacional sem precisar sair do jupyter. Qualquer comando digitado após o ! será interpretado pelo System Command Line. Muitas IDEs apresentam a possibilidade de abrir um termina integradol, então, é algo parecido com isso.
Por que o comando !cd não funciona como esperado?
De fato, ao utilizar !cd para trocar de diretórios, não funcionará porque o notebook é executado em um sub-shell temporário. Para tanto, é necessário utilizar a magic function %cd (ou apenas cd, que é uma automagic function) para navegar entre diretórios.
Também existem as automagic functions %cat, %cp, %env, %ls, %man, %mkdir, %more, %mv, %pwd, %rm e %rmdir.
Portanto, na prática, é possível interagir com o notebook como se fosse um terminal bash normal: cd, cat, cp, env, ls, man, mkdir, more, mv, pwd, rm e rmdir.