Una de las características más útiles de Python es su intérprete interactivo. Esto permite el ensayo muy rápido de ideas. Sin embargo, el intérprete suministrado con la distribución estándar de Python es algo limitada para el uso interactivo extendida.
El objetivo de IPython es crear un entorno completo para la computación interactiva y exploratorio. Para apoyar este objetivo, IPython tiene tres componentes principales:
Jupyter (originalmente llamado IPython) fue desarrollado por Fernando Perez pensando en facilitar la reproducibilidad científica. Hoy en día cuenta con un gran número de colaboradores.
Existen tres formas de correr Jupyter:
$ ipython
$ jupyter qtconsole
$ jupyter notebook
import numpy as np
Tab nos completa o nos muestra las opciones (usa un mismo namespace para todo el notebook)
a = np.array([1, 2, 3])
a.
Shift-Tab nos da la documentación de la función - método
np.array()
Jupyter define las magic que son comando (generalmente comienzan con %) que nos permite, entre varias cosas, hacer uso de nuestro shell, correr código, medir tiempos, etc.
%%timeit
a = 0
for i in range(10000):
a += 1
1000 loops, best of 3: 1.5 ms per loop
!!ls
['Hands-On', 'imgs', 'introduccion_a_python.pdf', 'introduccion_a_python.sla', 'Introducción_IPython.ipynb']
Podemos correr coódigo R y capturar la salida como variables para Python. Se necesita el paquete rpy2
El cambio de nombre, vino por un gran cambio en el proyecto. La nueva versión del notebook nos permite cargar kernels de Julia, PYthon o R
Cambiando la celda de codigo a markdown podemos introducir texto, link, latex
$$ a^{2} = b^{2} + c^{2} \;\;\; a, b, c\; \exists\; N $$Imagenes, videos, etc
from IPython.display import YouTubeVideo
YouTubeVideo("bxtLxUh03gc")
Podemos subir el notebook a nuestro servido git preferido y luego con nbviewer renderizarlo para que alguien lo vea.
Por ej, este notebook
#Este css es trabajo de @LorenaABarba y su grupo
from IPython.core.display import HTML
css_file = '../css/personal.css'
HTML(open(css_file, "r").read())
El código esta licenciado bajo MIT.
La documentación bajo:
This work is licensed under a Creative Commons Attribution 4.0 International License.