9 Trucos con el REPL de Python

9 Trucos con el REPL de Python

Por supuesto, el Pi en Raspberry Pi viene de Python, uno de los lenguajes de programación más populares del mundo y especialmente popular entre los manitas y los makers. En este post, quiero darte 9 trucos y consejos con el REPL de Python - pero no te preocupes si no estás súper familiarizado con Python o el REPL.

Este post va dirigido tanto a programadores principiantes como intermedios de Python.

¿Qué es el REPL?

El REPL, o Bucle de Lectura-Evaluación-Impresión, es una forma de interactuar directamente con el intérprete de Python. Se llama REPL porque lee, evalúa e imprime la entrada y luego vuelve al principio, permitiéndote introducir otro comando.

Proporciona una interfaz a través de un shell de Python para introducir código y recibir inmediatamente una salida. Esto hace posible comprobar código, depurar en tiempo real y producir pruebas interactivas. Normalmente, sabrás que estás tratando con un REPL de Python una vez que veas estas tres flechas:

>>>

Aquí es donde puede introducir sus datos.

Cabe mencionar que

Los términos "Python Shell" y "Python Interpreter" a veces se usan indistintamente, pero hay una sutil diferencia entre ellos. El intérprete de Python se refiere al programa o software que ejecuta el código Python. El intérprete de Python, sin embargo, es la interfaz que te permite interactuar con el intérprete en tiempo real.

Aparte de los shells estándar de Python y Python3, mucha gente utiliza también IPython y bpython, que son programas de línea de comandos que ofrecen características únicas, como el resaltado de sintaxis.

Python REPL

Puedes ver que IPython y bpython son más bonitos por defecto (más abajo veremos cómo hacer el REPL estándar más bonito también).

También vale la pena señalar que el REPL de IPython numera las líneas de entrada "En [1]", "En [2]", etc.

A diferencia de IPython, bpython mantiene la disposición >>>.

La REPL también puede proporcionar funciones como el historial de comandos, la finalización de tabulaciones y la posibilidad de acceder a variables y funciones definidas previamente, lo que la convierte en una herramienta práctica para la programación y exploración interactivas de Python.

Esto hace que el REPL una herramienta invaluable para cualquier persona que está mirando a perder el tiempo con su Raspberry Pi.

Ahora que ya sabes qué es el REPL, vamos a explorar algunos trucos para usarlo:

Truco 1: Buscar documentación

Puede encontrar la documentación de cualquier objeto o módulo de Python directamente desde la REPL utilizando la función help() función.

Por ejemplo, escribiendo help(str) mostrará la documentación del objeto string. También puede añadir el nombre de un método o función específicos para obtener información detallada, como por ejemplo

 help(str.upper)

Si tecleas esto, verás lo siguiente:

Documentación de búsqueda de Python REPL

Truco 2: Utiliza el tabulador

Dependiendo del programa que estés usando, el REPL de Python soporta el completado con tabulador, lo que puede ahorrarte tiempo y evitar errores tipográficos. Pulsando la tecla Tab después de escribir un nombre parcial o un objeto se mostrarán las opciones disponibles.

Por ejemplo, si escribe int. y luego presiona Tab, verás una lista de métodos para ejecutar con números enteros.

Completar pestañas en Python REPL

Truco 3: Crear declaraciones de varias líneas

Además, el REPL le permitirá escribir sentencias multilínea utilizando la continuación de línea.

Si desea dividir una sentencia en varias líneas para facilitar la lectura, puede utilizar el carácter de barra invertida (\) al final de cada línea para continuarla en la línea siguiente (véase el ejemplo 1 a continuación).

También puede poner la frase entre paréntesis o corchetes para continuarla en la línea siguiente (véase el ejemplo 2).

# example 1: using backslash for a multi-line statement

name = 'Fatima'
age = 46
country = 'Germany'

message = 'Hi, ' + \
          name + \
          '! You are ' + \
          str(age) + \
          ' years old and from ' + \
          country + '.'

print(message)

# the message will be 'Hi, Fatima! You are 46 years old and from Germany.'

# example 2: using parentheses for a multi-line statement

total = (1 + 2 + 3 +
         4 + 5 + 6 +
         7 + 8 + 9)

print("The total is:", total)

# the message will be 'The total is: 45'

Truco 4: Acceda al código previamente escrito

Puede acceder al código previamente escrito en la REPL utilizando las teclas de flecha arriba y abajo, igual que lo haría en el terminal.

Si pulsas la tecla de flecha arriba, podrás recorrer el historial de comandos, lo que te permitirá recuperar y modificar rápidamente comandos anteriores. Compruébalo tú mismo.

Truco 5: Utilizar la variable de subrayado

La variable de subrayado (_) contiene el resultado de la última expresión evaluada en el REPL.

Puede resultar útil cuando necesite reutilizar el resultado en operaciones posteriores sin tener que reevaluar toda la expresión. Así que si necesitas hacer algunos cálculos rápidos o si quieres recuperar datos super rápido - puedes simplemente escribir el guión bajo como una variable estándar del resultado anterior.

Variable de guión bajo de Python REPL

Truco 6: Ejecutar comandos de sistema y comandos mágicos (IPython)

En IPython (abreviatura de "Interactive Python"), puede ejecutar directamente comandos del sistema anteponiendo a una línea de código un signo de exclamación (!).

Junto con IPython comandos mágicos, like %cd to change directory, you’re able to use the Python REPL for seamless integration!

Por ejemplo, !ls en sistemas basados en Unix o !dir en Windows mostrará el contenido del directorio actual.

Comandos mágicos de Python REPL

Truco 7: Experimente con las importaciones

En el REPL de Python, puedes experimentar con importaciones sin necesidad de crear archivos Python separados. Esta característica te permite importar módulos, probar sus funciones y explorar su contenido de forma interactiva, lo que resulta conveniente para experimentar y explorar rápidamente diferentes módulos y sus capacidades.

A continuación te mostramos cómo puedes utilizar el REPL de Python para experimentar con las importaciones:

>>> import math
>>> math.sqrt(16)
4.0

En este ejemplo, utilizamos la función sqrt() de la función math para calcular la raíz cuadrada de 16.

Al utilizar el REPL de Python para experimentar con importaciones, puedes probar y explorar rápidamente la funcionalidad de varios módulos sin necesidad de crear archivos Python independientes.

Este proceso interactivo e iterativo le permite comprender mejor cómo funcionan los distintos módulos, probar diferentes funciones y examinar sus resultados en tiempo real.

Truco 8: Personalizar el indicador REPL

¿No te gusta el >>> como indicador principal y ... como secundario?

Estás de suerte, porque puedes personalizar el prompt que muestra el REPL de Python.

Al modificar el sys.ps1 y sys.ps2 puede cambiar los avisos primario y secundario, respectivamente.

Sólo corre:

import sys

sys.ps1 = 'primary'
sys.ps2 = 'secondary'

Ahora, el mensaje principal será "principal" y el secundario "secundario". Siéntete libre de cambiarlo por lo que quieras. Prueba con símbolos o emojis, por ejemplo.

Hacerlo de esta manera sólo afectará a la sesión REPL actual. Si quieres hacer las cosas un poco más permanentes, entonces vas a tener que encontrar el archivo ".pyrc" y editar las indicaciones allí.

¿Recuerdas mis aburridos y feos prompters en mis REPLs de arriba? Cambiemos el color.

Si utilizas Linux, puedes introducir lo siguiente en tu terminal:

tee ~/.pyrc <<E0F
import sys
sys.ps1='\x01\x1b[1;34;40m\x02>>>\x01\x1b[0m\x02'
sys.ps2='\x01\x1b[1;35;40m\x02...\x01\x1b[0m\x02'
E0F

Esto cambiará el color del indicador primario a azul sobre gris y el del secundario a púrpura sobre gris, si es lo que buscas. Siéntase libre de experimentar con todos los Secuencias de colores ANSI para encontrar un color de apuntador con el que estés contento.

Una vez hecho esto, asegúrate de exportarlo:

export PYTHONSTARTUP=~/.pyrc

Ahora tus indicaciones deberían tener este aspecto:

Python REPL personalizar prompt

De nuevo, esto es sólo temporal. Si quieres cambiar las cosas permanentemente, tendrás que cambiar el archivo de configuración. ¡Pero te da una idea de lo divertido que puede ser!

Truco 9: Explorar módulos y objetos

Si quieres complementar la búsqueda de documentación y la utilización del completado de pestañas, ¡este es el truco que completa el paquete!

Puede explorar el contenido de un módulo (o de un objeto) utilizando la función dir() función.

Al pasar un módulo u objeto como argumento, devuelve una lista de nombres dentro de ese módulo u objeto, lo que le permite explorar sus atributos, métodos y funciones disponibles.

Por ejemplo:

import math
print (dir(math))

Esto mostrará una lista de los atributos, métodos y funciones disponibles dentro del módulo de matemáticas.

Python REPL explora módulos y objetos

Trucos como éste pueden ser decisivos para que tu flujo de trabajo sea fluido.

Una vez que conozcas estos 9 trucos, podrás utilizar el REPL con mayor eficacia.

De este modo, la depuración y las pruebas del código serán mucho más sencillas.

Cuéntanos qué trucos REPL tienes en los comentarios.

Deja un comentario