El módulo jupyter
proporciona un entorno de desarrollo integrado para ciencia de datos,
que no es exclusivo de Python, sino que además admite otros lenguajes en
su «backend». [1]
En
código «markdown», la salida de la celda es la renderización del texto.
En código Python, la salida de la celda es el resultado de la última
sentencia incluida en la celda.
Nota
Los «notebooks» o cuadernos son básicamente archivos de texto en formato json con extensión .ipynb (que proviene de «IPython Notebook»).
Interfaz
Jupyter se presenta como una aplicación
web en cuya interfaz podemos encontrar distintos elementos que nos
permitirán desarrollar nuestras tareas de programación de una forma más
cómoda.
Explorador de archivos
Lo primero que veremos al arrancar el servidor de «notebooks» será el explorador de archivos con un diseño muy similar al de cualquier sistema operativo.
Explorador de archivos de Jupyter Notebook
Nota
Los «notebooks» que se están ejecutando suelen tener un color verde
en el icono, mientras que los que están parados aparecen en gris.
Barra de menú
Menú Fichero
Del estilo de los menús tradicionales de aplicaciones, aquí podemos encontrar las principales funciones sobre ficheros.
Menú Fichero de Jupyter Notebook
Checkpoints:
Permiten guardar el estado del «notebook» en un momento determinado para luego poder revertirlo a ese momento del tiempo.
Exportar notebooks:
Es posible exportar «notebooks» a una gran variedad de formatos:
Python (.py)
HTML (.html)
Reveal.js «slides» (.html)
Markdown (.md)
reST (.rst)
PDF vía LaTeX (.pdf)
asciidoc (.asciidoc)
custom (.txt)
LaTeX (.tex)
Ejercicio
Cree un «notebook» de prueba y descárgelo en formato HTML y Markdown.
Menú Edición
Este menú contiene las acciones que podemos realizar sobre una o varias celdas.
Menú Edición de Jupyter Notebook
Las funciones las podríamos agrupar en gestión de celdas (cortar, pegar, borrar, dividir, unir, mover, etc.) e inserción de imágenes seleccionando desde un cuadro de diálogo.
Menú Vista
Permite modificar el aspecto visual de determinados elementos de la aplicación.
Menú Vista de Jupyter Notebook
Números de línea:
Puede resultar interesante mostrar los números de línea en celdas que contengan código.
Modo presentación (Cell Toolbar ▶️ Slideshow) :
Jupyter
Notebook ofrece la posibilidad de crear una presentación sobre el
documento en el que estamos trabajando. Cada celda se puede configurar
con alguno de los siguientes tipos:
Slide.
Subslide.
Fragment.
Skip.
Notes.
Etiquetas (Cell Toolbar ▶️ Tags):
Es interesante – entre otras – el uso de la etiqueta raises-exception
ya que nos permite ejecutar todas las celdas de un «notebook» sin que
el sistema se detenga por errores en la celda etiquetada, ya que estamos
informando que lanzará una excepción.
Menú Insertar
Insertar celda antes o después de la actual.
Menú Insertar de Jupyter Notebook
Menú Celda
Principalmente enfocado a la ejecución de las celdas que componen el «notebook».
Menú Celda de Jupyter Notebook
Ejecución de celdas:
La ejecución de celdas se puede hacer de forma individual o grupal así como indicando el punto de partida (celda actual).
Tipo de celdas:
Code: para incluir código (se podrá ejecutar el lenguaje de programación según el «kernel» instalado).
Markdown: para escribir texto utilizando sintaxis markdown.
Raw: estas celdas no serán formateadas.
Salida de celdas:
La ejecución de las celdas de código
tiene (suele tener) una salida. Esta salida se puede ocultar (si
interesa). Incluso tenemos control sobre activar o desactivar el
«scroll» en caso de que la salida sea muy larga.
Menú Kernel
Permite gestionar el servicio que se encarga de lanzar los «notebooks».
Menú Kernel de Jupyter Notebook
El kernel
es la capa de software que se encarga de ejecutar las celdas de nuestro
«notebook» que contienen código. Podemos tener instalados distintos
«kernels» para un mismo Jupyter Notebook. El kernel se puede interrumpir
o reiniciar.
Hay veces, que debido a un error de programación o a procesos muy
largos, podemos encontrarnos con el «kernel» bloqueado durante un largo
período de tiempo. En estas ocasiones es útil reiniciarlo para salvar
esa situación.
Kernel ocupado
Menú Ayuda
Como cualquier aplicación, existe un menú de ayuda en el que se pueden encontrar enlaces a referencias y manuales.
Menú Ayuda de Jupyter Notebook
Uno de los elementos más interesantes de la ayuda es el uso de los «shortcuts» [3]. Aunque hay muchos, dejamos aquí algunos de los más útiles:
Shortcut
Acción
SHIFT+ENTER
Ejecutar la celda actual
ALT+ENTER
Ejecutar la celda actual y «abrir» una celda debajo
Los programas suelen ser más legibles cuando
las líneas no son excesivamente largas. La longitud máxima de línea
recomendada por la guía de estilo de Python es de 80 caracteres.
Sin embargo, esto genera una cierta polémica hoy en día, ya que los
tamaños de pantalla han aumentado y las resoluciones son mucho mayores
que hace años. Así las líneas de más de 80 caracteres se siguen
visualizando correctamente. Hay personas que son más estrictas en este
límite y otras más flexibles.
En caso de que queramos romper una línea de código demasiado larga, tenemos dos opciones:
Los comentarios son anotaciones que podemos
incluir en nuestro programa y que nos permiten aclarar ciertos aspectos
del código. Estas indicaciones son ignoradas por el intérprete de
Python.
Los comentarios se incluyen usando el símbolo almohadilla # y comprenden hasta el final de la línea.
Comentario en bloque
# Universe age expressed in daysuniverse_age=13800*(10**6)*365
Los comentarios también pueden aparecer en la misma línea de código, aunque la guía de estilo de Python no aconseja usarlos en demasía: