Cómo Trabajar con la Consola Interactiva de Python

Introducción

La consola interactiva de Python (también llamada intérprete de Python o shell de Python) proporciona a los programadores una forma rápida de ejecutar comandos y probar o testear código sin crear un archivo.

Proporcionando acceso a todas las funciones integradas de Python y a cualquier módulo instalado, historial de comandos y autocompletado, la consola interactiva ofrece la oportunidad de explorar Python y la capacidad de pegar código en archivos de programación cuando estés listo.

Este tutorial explicará cómo trabajar con la consola interactiva de Python y aprovecharla como una herramienta de programación.

Requisitos previos

Debes tener instalado Python 3 y configurado un entorno de programación en tu computadora o servidor. Si no tienes configurado un entorno de programación, puedes consultar las guías de instalación y configuración para un entorno de programación local o para un entorno de programación en tu servidor apropiado para tu sistema operativo (Ubuntu, CentOS, Debian, etc.).

Entrar en la Consola Interactiva

La consola interactiva de Python se puede acceder desde cualquier computadora local o servidor con Python instalado.

El comando que utilizarás para entrar en la consola interactiva de Python para tu versión predeterminada de Python es:

  1. python3

Si estás utilizando un entorno virtual local de Python, ingresarás a la versión predeterminada de Python con:

  1. python

Si configuraste un entorno de programación según la sección de requisitos previos, puedes iniciar y acceder a la versión de Python y los módulos que hayas instalado en ese entorno ingresando primero con el siguiente comando:

  1. cd environments
  2. . my_env/bin/activate

Luego escribir el comando python:

  1. python

En este caso, la versión predeterminada de Python es Python 3.8.10, que se muestra en la salida una vez que ingresamos el comando, junto con el aviso de derechos de autor relevante y algunos comandos que puedes escribir para obtener información adicional:

Output
Python 3.8.10 (default, Jun 2 2021, 10:49:15) [GCC 9.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>>

El indicador primario para el siguiente comando son tres signos de mayor que (>>>):

Puedes apuntar a versiones específicas de Python agregando el número de versión a tu comando, sin espacios:

Nota: A partir de enero de 2020, Python 2 ha sido retirado y no se realizarán más mejoras. Para obtener más información, consulta [Sunsetting Python 2] (https://www.python.org/doc/sunset-python-2/)

  1. python2.7
Output
Python 2.7.18 (default, Mar 8 2021, 13:02:45) [GCC 9.3.0] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>

Aquí, recibimos la salida de que se usará Python 2.7.18. Si esta es nuestra versión predeterminada de Python 2, también podríamos haber ingresado a esta consola interactiva con el comando python2.

Alternativamente, podemos llamar a la versión predeterminada de Python 3 con el siguiente comando:

  1. python3
Output
Python 3.8.10 (default, Jun 2 2021, 10:49:15) [GCC 9.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>>

También podríamos haber llamado a la consola interactiva anterior con el comando python3.8.

Con la consola interactiva de Python en funcionamiento, podemos pasar a trabajar con el entorno de la terminal para Python.

Trabajando con la Consola Interactiva de Python

El intérprete interactivo de Python acepta sintaxis de Python, que colocas después del prefijo >>>.

Podemos, por ejemplo, asignar valores a variables:

  1. birth_year = 1868

Una vez que hemos asignado el valor entero de 1868 a la variable birth_year, presionaremos retorno y recibiremos una nueva línea con los tres signos de mayor que como prefijo:

  1. birth_year = 1868

Podemos continuar asignando variables y luego realizar cálculos matemáticos con operadores para obtener los cálculos devueltos:

>>> birth_year = 1868
>>> death_year = 1921
>>> age_at_death = death_year - birth_year
>>> print(age_at_death)
53
>>> 

Como lo haríamos con un script en un archivo, asignamos variables, restamos una variable de la otra y pedimos a la consola que imprima la variable que representa la diferencia.

Así como en cualquier forma de Python, también puedes usar la consola interactiva como una calculadora:

>>> 203 / 20
10.15
>>> 

Aquí, dividimos el entero 203 por 20 y se nos devolvió el cociente de 10.15.

Líneas Múltiples

Cuando estamos escribiendo código Python que abarcará varias líneas, el intérprete usará el símbolo de continuación para líneas, tres puntos (...).

Para salir de estas líneas de continuación, deberás presionar ENTER dos veces.

Podemos ver cómo se ve esto en el siguiente código que asigna dos variables y luego usa una declaración condicional para determinar qué imprimir en la consola:

>>> sammy = 'Sammy'
>>> shark = 'Shark'
>>> if len(sammy) > len(shark):
...     print('Sammy codes in Java.')
... else:
...     print('Sammy codes in Python.')
... 
Sammy codes in Python.
>>> 

En este caso, las longitudes de las dos cadenas son iguales, así que la instrucción else imprime.
Ten en cuenta que necesitarás mantener la convención de indentación de Python de cuatro espacios en blanco, de lo contrario recibirás un error:

>>> if len(sammy) > len(shark):
... print('Sammy codes in Java.')
  File "<stdin>", line 2
    print('Sammy codes in Java.')
        ^
IndentationError: expected an indented block
>>> 

No solo puedes experimentar con código en varias líneas en la consola de Python, también puedes importar módulos.

Importación de Módulos

El intérprete de Python proporciona una forma rápida de verificar si los módulos están disponibles en un entorno de programación específico. Puedes hacerlo usando la declaración import:

>>> import matplotlib
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'matplotlib'

En el caso anterior, el módulo matplotlib no estaba disponible dentro del entorno de programación actual.

Para instalarlo, necesitaremos salir del intérprete interactivo e instalarlo con pip como de costumbre:

  1. pip install matplotlib
Output
Collecting matplotlib Downloading matplotlib-3.4.3-cp38-cp38-manylinux1_x86_64.whl (10.3 MB) ... Installing collected packages: numpy, python-dateutil, kiwisolver, pillow, pyparsing, cycler, matplotlib Successfully installed cycler-0.10.0 kiwisolver-1.3.1 matplotlib-3.4.3 numpy-1.21.2 pillow-8.3.1 pyparsing-2.4.7 python-dateutil-2.8.2

Una vez que el módulo matplotlib junto con sus dependencias se instalen correctamente, puedes volver al intérprete interactivo:

  1. python
  1. import matplotlib

En este punto, no recibirás ningún mensaje de error y podrás usar el módulo instalado ya sea dentro de la consola o dentro de un archivo.

Saliendo de la Consola Interactiva de Python

Hay dos formas principales de salir de la consola interactiva de Python, ya sea con un atajo de teclado o una función de Python.

El atajo de teclado CTRL + D en sistemas basados en *nix o CTRL + Z y luego la tecla CTRL en sistemas Windows interrumpirá tu consola y te devolverá a tu entorno terminal original:

...
>>> age_at_death = death_year - birth_year
>>> print(age_at_death)
53
>>> 
sammy@ubuntu:~/environments$ 

Alternativamente, la función de Python quit() cerrará la consola interactiva y también te devolverá al entorno terminal original en el que estabas anteriormente:

>>> octopus = 'Ollie'
>>> quit()
sammy@PythonUbuntu:~/environments$ 

Cuando utilizas la función quit(), aparecerá en tu archivo de historial, pero el atajo de teclado CTRL + D no será registrado:

File: /home/sammy/.python_history
...
age_at_death = death_year - birth_year
print(age_at_death)
octopus = 'Ollie'
quit()

Salir del intérprete de Python se puede hacer de cualquiera de estas maneras, dependiendo de lo que tenga sentido para tu flujo de trabajo y tus necesidades de historial.

Acceso al Historial

Una de las cosas útiles sobre la consola interactiva de Python es que todos tus comandos se registran en el archivo .python_history en sistemas basados en *nix, que puedes ver en un editor de texto como nano, por ejemplo:

  1. nano ~/.python_history

Una vez abierto con un editor de texto, tu archivo de historial de Python se verá algo así, con tu propio historial de comandos de Python:

File: /home/sammy/.python_history
import pygame
quit()
if 10 > 5:
    print("hello, world")
else:
    print("nope")
sammy = 'Sammy'
shark = 'Shark'
...

Una vez que hayas terminado con tu archivo, puedes presionar CTRL + X para salir de nano.

Al llevar un registro de todo tu historial de Python, puedes volver a comandos y experimentos anteriores, y copiar, pegar o modificar ese código para usarlo en archivos de programación Python o en un Jupyter Notebook.

Conclusión

La consola interactiva de Python proporciona un espacio para experimentar con código Python. Puedes usarla como una herramienta para realizar pruebas, resolver lógica y más.

Para utilizarla con la depuración de archivos de programación Python, puedes usar el módulo de Python code para abrir un intérprete interactivo dentro de un archivo, lo cual puedes aprender más en nuestra guía Cómo depurar Python con una Consola Interactiva.

Source:
https://www.digitalocean.com/community/tutorials/how-to-work-with-the-python-interactive-console