Curso
A diferencia de lenguajes compilados como C++ o Java, que deben traducirse a código máquina antes de ejecutarse, Python es interpretado y ejecuta las instrucciones directamente. Por eso el entorno REPL es ideal para experimentar, ya sea que estés probando fragmentos de código, explorando ideas nuevas o depurando línea a línea. Además, viene incluido en cualquier instalación de Python, así que lo tienes listo siempre que lo necesites.
En este tutorial te mostraré cómo usar el entorno REPL de Python con ejemplos, repasaremos sus funciones y veremos REPLs alternativos para mejorar tu flujo de trabajo. Si estás empezando con Python, te recomiendo hacer nuestro curso de Introduction to Python, que cubre habilidades como tipos de datos, listas, funciones básicas y paquetes.
¿Qué es un REPL de Python?
REPL significa Read-Eval-Print Loop (leer, evaluar, imprimir y bucle), que describe sus cuatro etapas fundamentales:
- Read: el entorno REPL lee tu entrada, que puede ser una sola línea de código o una sentencia multilínea.
- Evaluate: evalúa el código, ejecuta la sentencia o expresión y calcula su resultado.
- Print: imprime el resultado de la evaluación en la consola. Si el código no genera salida, como en una asignación, no imprime nada.
- Loop: el REPL vuelve al inicio y queda listo para la siguiente línea.
Estas etapas trabajan en continuo, creando un entorno interactivo en el que puedes teclear código y ver la salida al instante. El REPL de Python muestra un prompt primario >>> para nuevas sentencias y un prompt secundario ... para líneas de continuación, por ejemplo dentro de bucles o definiciones de funciones. En los ejemplos de más abajo veremos cómo funcionan estos prompts.
Los términos "consola interactiva", "sesión del intérprete" y "REPL" suelen usarse indistintamente para describir este entorno.
Por qué usar un REPL de Python
Puedes usar un REPL de Python para las siguientes tareas:
Probar fragmentos de código y funciones de librerías al vuelo: puedes probar pequeñas porciones de código sin crear un script.
>>> import math
>>> math.sqrt(16)
4.0
Explorar la sintaxis y experimentar con ideas: piensa en el REPL como tu banco de pruebas personal. Puedes probar cosas nuevas —tipos de datos, operadores y estructuras de control— para ver cómo se comportan sin riesgo de estropear un programa más grande.
>>> [x**2 for x in range(5)]
[0, 1, 4, 9, 16]
Depurar e inspeccionar variables: puedes usar la sesión REPL para comprobar paso a paso los valores y estados de tus variables, lo que facilita entender y resolver problemas.
>>> x = 42
>>> type(x)
<class 'int'>
>>> x / 7
6.0
Usarlo como calculadora o herramienta de aprendizaje: al dar resultados inmediatos, es útil para hacer cálculos o aprender lo básico de Python.
>>> 10 * (5 + 2)
70
Cómo iniciar y salir de una sesión REPL
Para iniciar una sesión REPL de Python, abre tu terminal o símbolo del sistema. Luego escribe python o python3 y pulsa Intro. Se abrirá la consola interactiva.
También puedes arrancar una sesión interactiva tras ejecutar un script usando la opción -i. Por ejemplo, python -i calc_tax.py ejecutará calc_tax.py y luego te dejará en el REPL con las variables del script aún cargadas en memoria.
Para salir del REPL, puedes usar cualquiera de estos métodos:
-
Escribe
quit()oexit()y luego pulsa Intro. -
En Unix/Linux/macOS, pulsa Ctrl+D.
-
En Windows, pulsa Ctrl+Z y luego Intro.
Ejecutar código en el entorno REPL
Puedes ejecutar código en sesiones REPL de Python de distintas formas según su complejidad. Veamos qué tipos de código puedes ejecutar en el REPL.
Sentencias y expresiones simples
El REPL evalúa al instante expresiones y sentencias sencillas. Por ejemplo, puedes hacer operaciones aritméticas, asignar variables y evaluar expresiones booleanas. El resultado de una expresión se imprime automáticamente.
>>> 5 + 4
9
>>> name = "Allan"
>>> name
'Allan'
>>> 10 > 5
TrueSi una sentencia, como una asignación de variable, no produce salida, el intérprete del REPL no imprime nada. Si cometes un error, el REPL te da feedback inmediato mostrando una excepción.
Sentencias compuestas
El REPL de Python también maneja sentencias compuestas multilínea como if y bucles for. Cambia automáticamente al prompt secundario (...) cuando escribes una línea que termina en dos puntos (:) y pulsas Intro, indicando que espera el bloque de código indentado.
Ten en cuenta que tendrás que indentar el código manualmente; el REPL no autoidenta. Para señalar el fin de la sentencia compuesta, pulsa Intro en una línea vacía.
Continuaciones de línea explícitas e implícitas
También puedes escribir sentencias multilínea en el REPL usando continuaciones de línea. Una continuación explícita usa una barra invertida \ al final de la línea para indicar que la sentencia continúa en la siguiente.
Las continuaciones implícitas ocurren automáticamente cuando el código está entre paréntesis (), corchetes [] o llaves {}.
Imprimir vs evaluar
La impresión automática del REPL solo funciona con expresiones que devuelven un valor. Por ejemplo, si tienes una lista y añades un elemento con temp.append(45), no verás ninguna salida. Para ver la lista actualizada, debes evaluar explícitamente la variable en la siguiente línea. Para las funciones que devuelven None, necesitas usar print() para ver su salida.
Funciones útiles del REPL
El REPL de Python incluye varias funciones que lo hacen más productivo para usar y aprender. A continuación comento algunas que me resultan especialmente útiles.
Variable especial _
El guion bajo (_) es una variable especial en la sesión REPL que almacena el resultado de la última expresión. Es muy práctico para reutilizar resultados sin tener que reescribirlos.
En el ejemplo siguiente, _ guarda el valor 30, que resulta de la expresión 6*5.
Herramientas de introspección
Python ofrece varias funciones integradas para explorar objetos y tu entorno de forma interactiva. La tabla siguiente resume el uso de cada función con ejemplos.
|
Herramienta |
Propósito |
Ejemplo |
|
|
Devuelve una lista con todos los nombres (atributos y métodos) en el ámbito local actual o de un objeto especificado. |
|
|
|
Abre el sistema de ayuda integrado para un objeto, módulo o función y muestra su documentación (docstrings). |
|
|
|
Devuelve el atributo |
|
|
|
Devuelve un diccionario que representa la tabla de símbolos local actual (variables del ámbito actual). |
|
|
|
Devuelve un diccionario que representa la tabla de símbolos global (variables accesibles en todo el programa). |
|
Historial de código y autocompletado con Tab
El REPL acelera la escritura con estas funciones de historial y autocompletado:
- Historial: navega por los comandos anteriores con las flechas Arriba y Abajo. Te permite reejecutar, modificar o corregir líneas pasadas rápidamente.
- Autocompletado con Tab: ayuda a completar nombres de variables, módulos y atributos. Por ejemplo, al escribir
impory pulsar Tab se completa aimport; al escribirstr..y pulsar Tab mostrará los métodos de cadena.
Atajos de teclado
Estos son algunos atajos habituales que hacen más ágil moverse por el REPL.
|
Atajo |
Acción |
|
Ctrl+C |
Interrumpe el comando en ejecución (por ejemplo, un bucle largo) y lanza |
|
Ctrl+D (Unix) |
Salir del REPL (equivale a |
|
Ctrl+Z + Intro (Win) |
Salir del REPL |
|
Ctrl+L |
Limpia la pantalla (como el comando |
|
Flechas Arriba / Abajo |
Recorrer el historial de comandos |
|
Ctrl+A |
Mover el cursor al inicio de la línea |
|
Ctrl+E |
Mover el cursor al final de la línea |
|
Ctrl+K |
Borrar desde el cursor hasta el final de la línea |
|
Ctrl+U |
Borrar desde el cursor hasta el inicio de la línea |
Personalizar el REPL
El REPL estándar de Python se puede adaptar a tu flujo de trabajo y preferencias.
Archivo de inicio
Configura la variable de entorno PYTHONSTARTUP con la ruta a un script de Python que se ejecutará automáticamente cada vez que se inicie el REPL. Este script puede preimportar módulos habituales, definir funciones o cambiar los prompts.
Por ejemplo, crea un archivo ~/.pystartup con el siguiente contenido:
import sys, os, math, random
print("Custom REPL ready. Pre-imported: sys, os, math, random")
# Change the prompt strings
import sys
sys.ps1 = ">>> "
sys.ps2 = "... "
Si usas Windows, puedes configurar la variable con el siguiente comando:
setx PYTHONSTARTUP "C:\path\to\pystartup.py"
Salidas enriquecidas con rich
Puedes usar la librería rich para mejorar y colorear la salida en el REPL. Primero debes instalar el módulo rich con pip.
pip install rich
Luego actívala importándola y usándola en tus sesiones REPL de Python. En el ejemplo de abajo, he usado la librería para imprimir palabras en distintos colores.

Comandos de REPL para probar
Como ves, el REPL de Python es fácil de usar. Prueba los siguientes comandos para practicar tus habilidades
|
Comando |
Propósito |
Salida/Descripción |
|
|
Introspección: ver todos los métodos y atributos disponibles en el tipo incorporado |
|
|
|
Documentación: muestra el docstring del método append de las listas y cómo usarlo. |
Una descripción detallada de lo que hace |
|
|
Importar un módulo: carga la librería estándar |
Sin salida (pero el módulo ya está disponible). |
|
|
Cálculo: obtener el valor de π. |
|
|
|
Cálculo: calcular sin(π/2). |
|
|
|
Prueba rápida: seleccionar un elemento aleatorio de una lista. |
|
|
|
Gestión de errores/Salida: inicia un bucle infinito y luego pulsa Ctrl+C para interrumpirlo y salir. |
|
Limitaciones del REPL estándar
Aunque el REPL estándar de Python es perfecto para tareas rápidas, puede quedarse corto frente a un IDE moderno. Pronto notarás que faltan algunas funciones, como las siguientes:
- Sin resaltado de sintaxis: todo aparece como texto plano. Cuesta distinguir de un vistazo palabras clave, cadenas y comentarios.
- Autoindentación mínima: aunque gestiona el prompt de continuación (
...), tienes que introducir manualmente la indentación correcta en sentencias compuestas como if y for. - Autocompletado básico: la tabulación integrada funciona, pero no ofrece sugerencias contextuales, documentación en línea ni coincidencia aproximada como en consolas avanzadas.
- Edición pobre de múltiples líneas: editar bloques complejos de varias líneas es engorroso.
- Una vez envías un bloque, no se puede editar fácilmente ni recuperar del historial.
REPLs alternativos
Para superar estas limitaciones del intérprete estándar, existen REPLs y entornos mejorados basados en el modelo interactivo de Python que añaden funciones y mejoran la productividad y el aprendizaje. Te recomiendo probar cualquiera de los siguientes y quedarte con el que mejor se adapte a tus necesidades.
- IDLE: un entorno de Python con interfaz gráfica incluido con Python. Ofrece resaltado de sintaxis, editor integrado y depurador, muy amigable para principiantes.
- IPython: un REPL potente con autocompletado enriquecido, resaltado de sintaxis, comandos mágicos (comandos especiales que comienzan con %), historial extenso y fácil acceso a comandos del sistema. Muy usado en data science y computación científica.
- bpython: una consola en terminal con resaltado de sintaxis en línea, sugerencias automáticas y acceso rápido a documentación. Es ligera, pero mejora mucho la usabilidad frente al REPL por defecto.
- ptpython: pensada para usuarios avanzados, ofrece edición real de múltiples líneas, resaltado de sintaxis robusto e incluso soporte para ratón, dándote mayor control en la terminal.
- REPLs online: entornos en el navegadors como la consola interactiva de Python.org y Python Morsels REPL son perfectos para pruebas rápidas, compartir código o practicar desde cualquier lugar.
Conclusión
La sesión REPL de Python ofrece un entorno rápido e interactivo para experimentar con código, lo que la hace valiosa para probar, aprender y explorar ideas. Dominar sus funciones integradas te da una herramienta potente para el día a día. Para flujos de trabajo más complejos o mayor comodidad, probar REPLs avanzados puede mejorar aún más tu experiencia de programación interactiva.
Para comprender Python a fondo, puedes aprender más con nuestros itinerarios de aprendizaje Python Data Fundamentals y Python Programming Fundamentals. La chuleta de Python para principiantes también es muy útil cuando quieres recordar de un vistazo cómo dividir una lista en Python.
FAQs
¿Cómo inicio el REPL de Python?
Abre tu terminal y escribe python o python3, según tu sistema.
¿Cómo salgo del REPL?
Escribe quit() o exit(), o usa Ctrl+D en Unix o Ctrl+Z + Intro en Windows.
¿Cuál es la diferencia entre el REPL y ejecutar un script?
El REPL ejecuta el código de forma interactiva línea a línea, mientras que un script ejecuta todo el archivo de una vez.
¿Qué es la variable _ en el REPL?
_ guarda el resultado de la última expresión evaluada para que puedas reutilizarlo rápidamente.
¿Qué significan los prompts >>> y ...?
>>> es el prompt principal y ... es el prompt secundario para la entrada multilínea.

