Competencias Digitales y Programación para Humanistas PDF
Document Details
Carolina Mañoso Hierro, Ángel P. de Madrid y Pablo, Miguel Romero Hortelano
Tags
Summary
These lecture notes cover digital competencies and programming for humanists, focusing on the Python 3 language and various integrated development environments (IDEs). The document provides an overview of different Python development tools.
Full Transcript
Competencias Digitales y Programación para Humanistas Tema II: Entorno de desarrollo integrado y manejo de herramientas. Nota importante: Estos apuntes se distribuyen de manera gratuita y con fines meramente docentes para uso exclusivo en este Máster. Queda prohibida su redistribuci...
Competencias Digitales y Programación para Humanistas Tema II: Entorno de desarrollo integrado y manejo de herramientas. Nota importante: Estos apuntes se distribuyen de manera gratuita y con fines meramente docentes para uso exclusivo en este Máster. Queda prohibida su redistribución. Dra. Carolina Mañoso Hierro Dr. Ángel P. de Madrid y Pablo Dr. Miguel Romero Hortelano Contenidos 1. ¿Cómo es un programa en Python 3?.................................................................................. 1 2. Python 3 e IDLE................................................................................................................... 1 3. Thonny................................................................................................................................. 5 4. El Proyecto Jupyter.............................................................................................................. 9 4.1. Jupyter Notebook............................................................................................................ 9 4.2. JupyterLab.................................................................................................................... 11 4.3. Colab............................................................................................................................ 14 5. Otros IDEs y herramientas..................................................................................................14 6. Conclusiones.......................................................................................................................15 2. Entorno de desarrollo integrado y manejo de herramientas Habíamos concluido el Tema I proponiendo el lenguaje Python, en su versión 3 (Python 3.x, con x algún valor reciente), como el más adecuado para aprender a programar con vistas a las humanidades. Gratuito, más fácil de aprender y usar que otros candidatos, con múltiples bibliotecas para diversos ámbitos de aplicación… En realidad, es un lenguaje muy utilizado tanto por los humanistas como por los científicos para aplicaciones “serias”. Es importante recordar que esta asignatura se basa en Python 3. Por compatibilidad hacia atrás, Python 2 se sigue utilizando. Ahora bien, ambas versiones se diseñaron para ser incompatibles entre sí. Pretendemos ser prácticos, luego cuanto antes nos pongamos a programar, mejor. Ahora bien, en primer lugar vamos a ver en este tema algunos entornos (herramientas para el desarrollo) que podemos utilizar a la hora de ponernos a programar con Python 3. Todavía no conocemos el lenguaje, por lo que estas cosas irán cobrando más sentido a medida que vayamos avanzando. 1. ¿Cómo es un programa en Python 3? Un programa en Python no es más que un fichero de texto llano (i.e., sin formato ni otras florituras), con extensión.py, que contiene instrucciones escritas en este lenguaje que implementan un algoritmo determinado. Así, para que sea un programa correcto, ha de respetar la sintaxis y la semántica de Python (ver Tema I). Ojo, que aunque respetemos las reglas sintácticas y semánticas de Python 3 es posible que el programa no haga lo que nosotros esperamos. Es cierto que hará exactamente lo que nosotros hemos programado, pero si nos hemos equivocado al diseñar el programa… En la Figura 1 mostramos un pequeño programa, escrito en Python 3, que utilizaremos de ejemplo. (De momento no hace falta que lo copie en un fichero.) Observemos que: Salvo que haya indentación, las líneas se han de escribir pegadas al margen de la izquierda, sin espacios adicionales. Así, por ejemplo, la línea def fibonacci_gen(): deberemos escribirla sin dejar espacios iniciales. Los espacios en blanco al inicio de las líneas (i.e., a la izquierda), afectan a la sintaxis. Líneas como vemos que a, b = 1, 1 se encuentran indentadas. No conviene utilizar tabuladores. En su lugar, para un indentado simple escribiremos cuatro espacios en blanco. Cada indentación adicional añadirá cuatro espacios en blanco más; así, yield a lleva ocho espacios a su izquierda. Ya que los programas son ficheros de texto podemos escribirlos con cualquier editor similar a Notepad de Windows. (Este editor simplemente recoge el texto llano, sin añadirle ningún formato ni información adicional, algo que no formaría parte del lenguaje Python en sí.) Estos editores tan simples en general no resultan prácticos, pero vayamos poco a poco. 2. Python 3 e IDLE El “cuartel general” de Python se encuentra en https://www.python.org/ (Figura 2). Desde esta página podemos descargar tanto el intérprete del lenguaje (recordemos que Python es un lenguaje de programación interpretado; ver Tema I) como múltiple documentación, tanto para principiantes como para desarrolladores. Es interesante dedicar un rato a explorar esta web. 1 II. Entorno de desarrollo integrado y manejo de herramientas def fibonacci_gen(): """ Función generadora de Fibonacci """ a, b = 1, 1 while True: yield a a, b = b, a+b fibo = fibonacci_gen() print(fibo) for i in range(0,100): print(next(fibo), end=" ") Figura 1. Ejemplo de programa escrito en Python 3. (El programa define una función para calcular los números de Fibonacci e imprime los cien primeros de ellos. De momento no nos interesa saber qué son ni cómo los calcula. Simplemente es un ejemplo para ver qué pinta tiene algo escrito en Python 3.) Figura 2. Página inicial del sitio python.org. Si hace clic en el enlace Downloads (descargas) accederá a los enlaces a distintas versiones de los programas de instalación de Python, para los principales sistemas. En principio bastará con descargar la última versión disponible para el nuestro, que se propone automáticamente, tal como se muestra en la Figura 3. Figura 3. Página típica de descarga de Python. En la imagen se propone, como opción principal, descargar Python 3.12.0 para el sistema operativo Windows. 2 Máster Universitario en Humanidades Digitales: Métodos y Buenas Prácticas Python 3 e IDLE Una vez descargado el programa de instalación basta con ejecutarlo. Ilustramos la instalación en Windows, pero en otros sistemas es muy similar. La instalación por defecto es suficiente. Simplemente hay que tener cuidado y acordarnos de seleccionar la opción Add python.exe to PATH cuando se nos muestre (Figura 4);con ello el sistema operativo sabrá dónde encontrar el intérprete de Python cuando lo necesite. Figura 4. Pantalla típica de instalación de Python en Windows. En general vale la instalación por defecto, pero no olvidar marcar la opción señalada. Una vez completada la instalación, abra una ventana de comandos; en Windows puede hacerlo con el comando cmd (Figura 5). En esta ventana teclee python y pulse Entrar a continuación. Si la instalación se ha realizado correctamente, se abrirá el intérprete de Python (Figura 6). Figura 5. En la ventana de búsqueda, generalmente abajo a la izquierda en un escritorio típico de Windows, es donde deberá introducir el comando cmd. No olvide pulsar Entrar a continuación… Figura 6. El programa intérprete de Python en una ventana de comandos de Windows. Observará que se muestra algo de información (versión de Python, tipo de sistema…) y a continuación el símbolo >>> seguido de un cursor parpadeante. Es ahí donde podemos introducir comandos de Python. (En adelante, al trabajar con Python utilizaremos los términos “comando”, “instrucción”, “palabra reservada”… indistintamente.) Vamos a probar algo: teclee Competencias Digitales y Programación para Humanistas 3 II. Entorno de desarrollo integrado y manejo de herramientas print("Hola, mundo") en la posición del cursor, pulse Entrar y vea los resultados (Figura 7). ¡Enhorabuena, acaba de ejecutar su primer comando en Python! Figura 7. Ejecución de un comando desde la ventana del intérprete (en rojo) y resultado del mismo (en verde). print es un comando de Python que imprime el texto o dato que le hayamos indicado entre los paréntesis; ya lo hemos utilizado en el ejemplo de la Figura 1 a lo hora de imprimir los números. (Todo esto irá cobrando sentido a medida que vayamos avanzando. Ahora limítese simplemente a repetir los ejemplos que le propongamos.) Es habitual que nuestra primera toma de contacto con un lenguaje de programación sea imprimir “Hola, mundo”. Bien, acabamos de hacerlo en Python. Al menos, si todo ha salido bien. Si no, lo más probable es que hayamos introducido mal el comando. Por ejemplo, pruebe a introducir print("Hola, mundo) Con las teclas del cursor arriba y abajo puede recuperar los comandos anteriores y editarlos. Como no hemos cerrado las comillas se producirá un error de sintaxis. Verá que el intérprete nos muestra una serie de líneas de texto describiendo este error. Básicamente, nos dice que lo ha detectado en la línea 1 (estamos introduciendo comandos individualmente, luego sólo hay una línea) y que se trata de un error de tipo unterminated string literal, tecnicismo en este caso para indicarnos que nos falta la comilla de cierre. (Figura 8) Estas meteduras de pata son habituales… Figura 8. Python informa de dónde ha encontrado un error y el tipo de éste. 4 Máster Universitario en Humanidades Digitales: Métodos y Buenas Prácticas Thonny A este modo de trabajar, introducir un comando y ver el resultado, introducir otro comando y ver el resultado, podemos denominarlo modo interactivo o sesión interactiva. Para cosas muy sencillas puede ser práctico, pero para poco más: no nos interesa tener que volver a introducir los mismos comandos (muchos tal vez) cada vez que queramos ejecutar el mismo algoritmo, y las herramientas que tenemos de depuración para encontrar los posibles errores son prácticamente inexistentes. Por ello Python incorpora por defecto un IDE denominado IDLE. (IDE: Entorno de Desarrollo Integrado. Es una aplicación informática que ofrece a los programadores aquellas herramientas más habituales a la hora de desarrollar software.) Éste nos ofrece más herramientas y modos de trabajo que la simple línea de comandos que acabamos de ver. Pero no es éste el IDE que vamos a describir, sino Thonny, que a nuestro parecer es algo más potente y cómodo para trabajar. Así que salgamos de Python tecleando quit() (y Entrar; en adelante la pulsación de Entrar se presupone, no la vamos a recordar en cada ocasión) o simplemente cerrando la ventana. 3. Thonny Thonny (https://thonny.org/; Figura 9) es un IDE para Python muy adecuado para los programadores que se inician en este lenguaje. Cómodo y sencillo de utilizar, y disponible para los principales sistemas operativos, incorpora preinstalada por defecto una versión “reciente” de Python (generalmente no será la última, pero será más que suficiente para seguir este curso; en caso necesario podemos cambiarla por otra de nuestra elección). Figura 9. Página principal (fragmento) del sitio web de Thonny. Se muestran algunas imágenes de este IDE, así como enlaces directos a los archivos de instalación. Como antes, supondremos que realizará la instalación en Windows; es sencilla y directa, ya que las opciones que se nos ofrecen por defecto son adecuadas. Tenga presente que si va a utilizar Windows 7 u 8.0, o 10 de 32 bits, la última versión de Thonny no va a funcionar en su sistema. Utilice en su lugar el instalador thonny- py38-4.1.3.exe, que incorpora Python 3.8 de 32 bits. Después de la instalación, cuando utilice Thonny por primera vez se le mostrará un entorno (IDE) como el de la Figura 10. Observe que presenta varias “regiones” o ventanas. De momento destacaremos dos: Competencias Digitales y Programación para Humanistas 5 II. Entorno de desarrollo integrado y manejo de herramientas Figura 10. IDE Thonny. A destacar la consola de comandos (2) y el editor de programas (1). La función de (3) y (4) se irá viendo más adelante. El editor de programas (1): Sencillo editor de textos. Volveremos a él en un momentito. La consola del sistema (2): Para trabajar en modo interactivo, permite introducir comandos Python y ver inmediatamente el resultado. También es la ventana donde Python mostrará mensajes; entre ellos, los de error. Pruebe a realizar el “Hola, mundo” en la consola, i.e., en la ventana (2). Ello se muestra en la Figura 11. A continuación, intente imprimir otros textos diferentes, e introduzca también algunos errores de sintaxis; compruebe los resultados. Figura 11. “Hola, mundo” en Thonny (sesión interactiva). 6 Máster Universitario en Humanidades Digitales: Métodos y Buenas Prácticas Thonny Por ejemplo, pruebe con Print en vez de con print. ¿Qué sucede? Efectivamente, Python distingue entre mayúsculas y minúsculas, y mientras que print es una palabra reservada (es un comando) Print carece de significado. Vamos a retomar el código de ejemplo de la Figura 1. Cópielo con cuidado en el editor de la parte superior. Preste especial atención a lo comentado anteriormente sobre el número de espacios en blanco a la izquierda de cada línea. Ya sabe, sólo múltiplos de cuatro (0 espacios, 4, 8…) y evite los tabuladores. Con el botón , guarde el código, con el nombre fibonacci.py, en una carpeta de su elección. Éste es su primer programa propiamente dicho. ¡Enhorabuena! Observe (Figura 12) que el código aparece escrito en diferentes colores. Esto no es debido al capricho de las modas: es una manera automática de resaltar la sintaxis del programa. Así, en el sistema en que se ha desarrollado el ejemplo el color morado indica las palabras reservadas de Python y en azul marino tenemos el nombre de una función (lo que quiera que sea eso) que estamos definiendo; otros colores se utilizan para resaltar otras “partes” del programa. Su sistema puede mostrar una combinación de colores diferentes. Ejecute el programa con el botón. El resultado, o sea, la secuencia de 100 números, se mostrará en la consola de la parte inferior (Figura 12). Figura 12. El programa para generar los cien primeros números de Fibonacci de la Figura 1 (parte superior) y el resultado de ejecutar este programa (parte inferior). A la derecha se muestra información relevante sobre el funcionamiento del programa; ahora todavía es pronto para comentarla, pero más adelante cobrará sentido. Como curiosidad, observe que a partir del tercer número (2) cada uno de ellos es la suma de los dos anteriores: 1+1=2, 1+2=3, 2+3=5, 3+5=8… 21+34=55, etc. Si deja parado el ratón encima del botón verá que aparece el mensaje “Ejecutar el script actual (F5)”. Script es una manera alternativa y equivalente para referirnos a un programa escrito en Python. Por su parte, la tecla F5 en Windows cumple la misma función que ese botón. Lo mismo sucede si se para sobre otros botones. Tenga en cuenta que en otros sistemas operativos puede aparecer un mensaje diferente o ser otra la tecla. Competencias Digitales y Programación para Humanistas 7 II. Entorno de desarrollo integrado y manejo de herramientas Pruebe ahora a introducir algún error de sintaxis; por ejemplo, Print en vez de print. Pruebe también a modificar el número de espacios en blanco al inicio de las líneas de código. Ejecute el programa en cada caso. Observe que Python protesta enérgicamente en la consola. El IDE Thonny es sencillo, a la vez que resulta especialmente útil a la hora de aprender Phyton, e incluso de realizar proyectos no demasiado complejos. Es fácil e intuitivo de manejar. Así, el botón nos permite crear un nuevo fichero de programa y con podemos abrir un explorador de ficheros para buscar el script (recuerde, “programa”) que queramos abrir en el editor. Como ya hemos visto, para salvar un programa usaremos. Para ejecutar un programa que tengamos abierto en el editor utilizaremos. Y con podremos detener manualmente un programa que se esté ejecutando; si está detenido, con él borraremos de la memoria los “restos” de una ejecución anterior (algo que generalmente no es necesario hacer, ya que el sistema se “pone a cero” cuando pulsamos ). Más adelante, el botón nos resultará especialmente útil, ya que nos dará acceso a una serie de herramientas para depurar (buscar los errores y corregirlos) los programas. Volveremos sobre ello según vayamos avanzando el curso. El botón nos puede resultar llamativo: es un bicho. En inglés, el proceso de depuración de un programa (o de un sistema en general) se conoce como debugging, i.e., “eliminación de bichos (bugs)”. Al parecer, en la década de 1940 no era raro que las polillas se introdujeran entre los contactos de los antiguos computadores, impidiendo su funcionamiento, y de ahí el término (aunque éste data incluso de más atrás, el siglo XIX, en el ámbito de la ingeniería mecánica). Naturalmente, a todas las tareas que realizan estos botones, y otras más, podemos acceder a través de la barra del menú principal de Thonny (Figura 13). Figura 13. Barra de menús de Thonny. Es un buen momento para aclarar algo que suele dar problemas a muchos de los estudiantes que se inician. Ponga el sistema “a cero” con , lo que borrará eventuales mensajes de la consola. A continuación, ejecute en la consola los siguientes comandos, uno detrás de otro: print("Hola, mundo") print("Me llamo Pepito") (Naturalmente, puede poner Vd. su nombre en vez de “Pepito”, si así lo desea.) La consola debe mostrar algo parecido a lo de la Figura 14. Figura 14. Resultado de ejecutar las dos líneas de código propuestas. Imagine que más adelante le pedimos que nos envíe, como ejercicio, un programa que imprima el mensaje de “saludo estándar” (ya me entiende…) y su nombre. Aquí viene lo importante: ¿qué debe enviarnos? Piense bien la respuesta, le va el aprobado en ello… Un pantallazo como el de la Figura 14. Un fichero, con extensión.py, que contenga exclusivamente el siguiente texto, que es el contenido de la consola: 8 Máster Universitario en Humanidades Digitales: Métodos y Buenas Prácticas El Proyecto Jupyter Python 3.10.11 (C:\Users\apdem\AppData\Local\ Programs\Thonny\python.exe) >>> print("Hola, mundo") Hola, mundo >>> print("Me llamo Pepito") Me llamo Pepito >>> Un fichero, con extensión.py, que contenga exclusivamente las siguientes dos líneas de texto: print("Hola, mundo") print("Me llamo Pepito") La experiencia, tras años enseñando a programar en Python, nos dice que nos vamos a encontrar con cualquiera de estas tres respuestas (e incluso con alguna otra más imaginativa, si me apura). Ahora bien, sólo una de ellas es correcta: El pantallazo no puede ser. Es una imagen gráfica, no contiene comandos de Python. La transcripción del contenido de la consola tampoco puede ser: contiene cosas que no son comandos, tales como el mensaje del sistema “Python 3.10.11 (C:\Users\apdem\App…)” o la respuesta a los comandos (o sea, el texto impreso). Aunque sólo fuera por eliminación, la tercera opción debe ser la correcta: un programa sólo contiene comandos de Python, no el resultado de esos comandos ni otros mensajes del sistema. Luego, en el caso del hipotético ejercicio descrito, sólo debería enviarnos un fichero de texto, con extensión.py (pongamos que el nombre del fichero es ejercicio0.py), cuyo contenido sería simplemente print("Hola, mundo") print("Me llamo Pepito") Podría escribir este sencillo programa con el propio editor de Thonny (ventana (1) en la Figura 10). 4. El Proyecto Jupyter Soportado por una organización sin ánimo de lucro (https://jupyter.org/), este proyecto proporciona una serie de entornos interactivos para el desarrollo de software. Aunque se soportan más de 40 lenguajes de programación, el nombre Jupyter viene de las iniciales de los lenguajes Julia, Python y R. Veamos algunos de estos entornos: 4.1. Jupyter Notebook Este entorno permite, mediante un navegador web, crear documentos (“cuadernos”) interactivos denominados Jupyter Notebooks. Un cuaderno (“notebook” en inglés) es un documento interactivo formado por una serie de celdas de texto o de código, entre otros tipos. La Figura 15 muestra un fragmento de uno de estos cuadernos, con ambos tipos de celdas. Se dispone de una serie de menús y botones con herramientas. Si nos situamos al inicio del cuaderno podemos ir avanzando, celda a celda, con el botón. Y aquí viene lo interesante: cuando pasamos por una celda de código el programa que haya en ella se ejecuta. Observe la diferencia con la Figura 16; destacado en rojo, el resultado de la primera celda de código. Dentro de las celdas de texto podemos incluir listas, tablas, etc. haciendo uso de un lenguaje de marcas ligero, muy sencillo: Markdown (https://daringfireball.net/projects/markdown/syntax). Veamos un ejemplo en la Figura 17. Competencias Digitales y Programación para Humanistas 9 II. Entorno de desarrollo integrado y manejo de herramientas Figura 15. Fragmento de un Cuaderno Jupyter con código en Python. Las celdas de texto se muestran como texto normal, mientras que las celdas de código (hay dos de ellas) tienen un fondo sombreado. Figura 16. El mismo cuaderno de la figura anterior, después de haber ejecutado el código Python de la primera celda de código. El resultado se muestra destacado con la línea roja. No nos vamos a entretener más con Jupyter Notebook. Si le interesa instalar esta herramienta, o simplemente obtener algo más de información sobre ella, puede hacerlo en (https://jupyter.org/). Para hacer la instalación necesitará tener la herramienta pip en su sistema. Si ya instaló Python, tal como vimos en la Sección 2, es casi seguro que ya dispone de ella y se encuentra en el PATH. Si no, deberá instalarla de manera independiente. Ahora bien, le recomendamos que espere a ver la “evolución natural” de Jupyter Notebook, JupyterLab. 10 Máster Universitario en Humanidades Digitales: Métodos y Buenas Prácticas El Proyecto Jupyter Figura 17. En la parte superior, un fragmento de una celda de texto, muy rica en formato, que incluye una pequeña tabla. Haciendo doble clic sobre la celda se accede al código Markdown subyacente, lo que permite editarla. Al ejecutar la celda se vuelve a visualizar el texto normalmente. 4.2. JupyterLab Básicamente se trata de un entorno (IDE) más moderno y potente que Jupyter Notebook para la elaboración de este tipo de cuadernos. Ambos entornos forman parte del mismo proyecto (https://jupyter.org/), por lo que JupyterLab está llamado eventualmente a sustituir de forma definitiva a Jupyter Notebook en esa función. Si bien se puede probar en el navegador sin instalar nada, es conveniente realizar la instalación. Tal como se indica en la web del proyecto, basta con ejecutar en una ventana de comandos del sistema operativo pip install jupyterlab La instalación debería realizarse sin prácticamente la intervención del usuario. Una vez finalizada, para abrir esta herramienta utilizaremos, en una ventana de comandos del sistema operativo, jupyter lab Con esto abriremos un navegador similar al mostrado en la Figura 18. Además de los menús y botones, destacan dos grandes ventanas: A la izquierda, un explorador de archivos convencional. A la derecha, un “lanzador” (launcher) de “cosas”. Entre ellas, tenemos acceso a un editor de cuadernos y a una consola de comandos de Python convencional. Vamos a hacer un par de ejercicios sencillos. En primer lugar, abra la consola e intente hacer en ella el “Hola, mundo”. Observe que en la parte inferior de ésta hay una línea de comandos. Separándolos con la tecla Entrar, puede introducir varios comandos a la vez. Para ejecutarlos, y ver el resultado Competencias Digitales y Programación para Humanistas 11 II. Entorno de desarrollo integrado y manejo de herramientas en la parte superior, pulse simultáneamente las teclas Mayús y Entrar (Figura 19); en Mac será una combinación de teclas parecida. Figura 18. JupyterLab, la primera vez que lo utilizamos después de su instalación. Figura 19. La consola de Python de JupyterLab en funcionamiento. Recuerde pulsar Mayús y Entrar (o una combinación de teclas similar en su sistema) para ejecutar los comandos y ver el resultado. A continuación, vamos a hacer lo mismo con un cuaderno. Abra el editor de cuadernos. Ya hay una celda predefinida, que generalmente será para introducir código. Vamos a utilizar esa celda para introducir texto en su lugar. Para ello, asegúrese de tener la celda seleccionada y despliegue el menú que indica Code; elija Markdown en su lugar (Figura 20). Escriba algo en la celda, tal que “Este es mi primer cuaderno con Jupyter” o similar; no hace falta que ponga las comillas, pero sí la cursiva. La cursiva la obtendremos encerrando el texto entre asteriscos. Teclee por tanto (Figura 21) *Este es mi primer cuaderno con Jupyter* 12 Máster Universitario en Humanidades Digitales: Métodos y Buenas Prácticas El Proyecto Jupyter Figura 20. Menú desplegable para seleccionar el tipo de celda. Raw hace referencia a una celda genérica, de ningún tipo en particular (ni texto Markdown, ni código). Figura 21. Edición de una celda Markdown, i.e., de texto con formato. Ahora crearemos una celda de código debajo de la primera. Pulse el botón y cambie el tipo de la nueva celda a Code si hiciera falta. El código a introducir será el habitual: print("Hola, mundo") print("Me llamo Pepito") La situación hasta el momento es la que se muestra en la Figura 22. Guardemos el cuaderno con el botón antes de proseguir. Utilice, por ejemplo, el nombre de fichero cuaderno1.ipynb (se guardará en la carpeta que tenga seleccionada en el explorador de archivos de JupyterLab). Observe que, por lo general, la extensión de los cuadernos es.ipynb, algo así como “interactive Python notebook”. Figura 22. Edición de nuestro primer cuaderno. (Aquí todavía no lo hemos salvado con un nombre.) Y llegamos al momento de ejecutar el cuaderno. Pulse el botón , con lo que se ejecutarán todas las celdas (si le pide confirmación, pulse Restart), y vea el resultado (Figura 23). Si quisiera ejecutar sólo una celda en particular la seleccionaría con el ratón y pulsaría el botón. Observe que: El texto de la celda de texto se muestra formateado, pero no se muestran los códigos específicos de Markdown (en este caso los asteriscos). Debajo del código Python se muestra el resultado de ejecutarlo: aquí, un texto impreso. Competencias Digitales y Programación para Humanistas 13 II. Entorno de desarrollo integrado y manejo de herramientas Figura 23. Resultado de ejecutar nuestro primer cuaderno: el texto se muestra con formato y debajo del código Python se encuentra el resultado que éste imprime. Dedique un ratito a modificar estas celdas, añadir otras nuevas, introducir errores de sintaxis, ver para qué sirven otros botones, etc. Observe los resultados. El sistema es muy intuitivo. Si quiere borrar el resultado de las celdas de código (lo que incluye valores que pueden estar almacenados en la memoria pero no se muestran; veremos que se trata de variables) vaya a la barra de menús y seleccione Kernel Restart Kernel and Clear Outputs of All Cells… Confirme con el botón Restart. 4.3. Colab Las capacidades de Jupyter se han visto incrementadas por diversos proyectos comerciales. Entre ellos encontramos Google Colaboratory o Colab (https://colab.research.google.com/), gratuito. Añade nuevas funcionalidades al entorno, que se sigue ejecutando en nuestro navegador, pero no requiere la instalación de ningún software extra en nuestro computador. Los cuadernos siguen respetando el formato de Jupyter Notebook. De manera adicional, nos ofrece mejorar la potencia de nuestro sistema de cómputo al tener acceso a GPUs sin coste extra. 5. Otros IDEs y herramientas Las herramientas para trabajar con Python y sus bibliotecas son muy numerosas. Así, por ejemplo, entre los IDEs destacan: Spyder (https://www.spyder-ide.org/): Concebido para programación científica en Python, se integra fácilmente con diversos paquetes científicos para Python. Gratuito. PyCharm (https://www.jetbrains.com/pycharm/): Un potente entorno para uso profesional. De pago, pero para profesores y estudiantes, de manera individual, es gratuito. Ambos IDEs pueden utilizarse para aprender Python, pero están pensados para realizar proyectos de grandes dimensiones. Algunos libros, excelentes por cierto para el aprendizaje de Python, comienzan con algo así como “Instale el IDE Eclipse y configúrelo de tal manera”. ¡Ni se le ocurra! Si bien Eclipse (https://www.eclipse.org/) es un IDE muy potente, fue diseñado para trabajar con el lenguaje Java. Y aunque se puede configurar para Python (lo que puede resultar engorroso), tenemos cosas mejores, pensadas directamente para trabajar con Python. No podemos finalizar sin mencionar Anaconda (https://www.anaconda.com/). No se trata de un IDE, sino de una distribución de los lenguajes Python y R orientada a la ciencia de datos en general. Entre 14 Máster Universitario en Humanidades Digitales: Métodos y Buenas Prácticas Conclusiones sus principales características destaca su sistema de gestión de paquetes, que nos permite instalar múltiples bibliotecas y otras herramientas (entre ellas Spyder) fácilmente, a la vez que realiza el control de versiones. De pago, pero existe una potente versión gratuita, más que suficiente para ponernos a trabajar. 6. Conclusiones Dada la gran cantidad de herramientas y entornos para programar con Python, ¿cuál vamos a utilizar? No olvidemos que se trata de un primer curso de toma de contacto con la programación en general, y con el lenguaje Python en particular. Por ello, vamos a evitar cosas como hacerle aprender los rudimentos de Markdown para preparar cuadernos Jupyter vistosos. Así: Los apuntes sobre Python los facilitaremos en forma de Cuadernos Jupyter. Vd. sólo tendrá que saber cómo ejecutarlos (algo que hemos visto un poco más arriba). Si además se animara a modificar el código (también hemos visto cómo hacerlo), o probar otro nuevo, tendría un entorno interactivo de aprendizaje muy potente. Ahora bien, los ejercicios de evaluación que deberá entregarnos serán simples ficheros con programas en Python, con extensión.py, si no le pedimos específicamente otra cosa. De esta manera podrá crearlos sencillamente con Thonny (no le recomendamos IDLE). Si se anima con los cuadernos puede hacerlo, pero sólo si ello no le supone una carga adicional. Competencias Digitales y Programación para Humanistas 15 II. Entorno de desarrollo integrado y manejo de herramientas 16 Máster Universitario en Humanidades Digitales: Métodos y Buenas Prácticas