Ir al contenido principal

Ejecución de código Python: intérprete interactivo y scripts

Introducción

Una de las grandes ventajas de Python es la flexibilidad que ofrece para ejecutar código. Ya sea que necesites probar rápidamente una idea, experimentar con nuevos conceptos o desarrollar aplicaciones completas, Python te proporciona diferentes métodos para ejecutar tu código. En este artículo, exploraremos las dos formas principales de ejecución de código Python: el modo interactivo a través del intérprete y la ejecución de scripts. Comprenderás las ventajas y casos de uso de cada método, lo que te permitirá elegir el enfoque más adecuado según tus necesidades mientras aprendes este lenguaje.

El intérprete interactivo de Python

El intérprete interactivo, también conocido como REPL (Read-Eval-Print Loop, o Bucle de Lectura-Evaluación-Impresión), es una herramienta poderosa que permite escribir y ejecutar código Python línea por línea, obteniendo resultados inmediatos.

Cómo acceder al intérprete interactivo

Hay varias formas de acceder al intérprete interactivo de Python:

  1. Desde la línea de comandos:

    • Abre una terminal o símbolo del sistema
    • Escribe python (Windows) o python3 (macOS/Linux) y presiona Enter
    • Verás algo similar a esto:
    Python 3.12.0 (tags/v3.12.0:0fb18b0, Oct  2 2023, 13:18:20) [MSC v.1937 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    

    El símbolo >>> indica que el intérprete está esperando tus comandos.

  2. Desde IDLE:

    • Al abrir IDLE, se inicia automáticamente el intérprete interactivo
    • Verás una ventana llamada "Python Shell" con el símbolo >>>
  3. Desde editores avanzados:

    • En VS Code: Ve a Ver > Terminal y escribe python o python3
    • En PyCharm: Ve a Tools > Python Console

Uso básico del intérprete interactivo

El intérprete ejecuta cada línea de código inmediatamente después de presionar Enter:

>>> 2 + 3
5
>>> nombre = "Laura"
>>> print("Hola, " + nombre)
Hola, Laura

Cada resultado se muestra debajo de la instrucción ejecutada.

Ventajas del intérprete interactivo

El intérprete interactivo resulta ideal para:

  1. Aprendizaje: Es perfecto para experimentar con nuevas funciones o conceptos
  2. Pruebas rápidas: Permite verificar rápidamente cómo funciona una expresión
  3. Depuración: Ayuda a identificar errores ejecutando código paso a paso
  4. Cálculos simples: Funciona como una calculadora avanzada

Operaciones básicas en el intérprete

Puedes realizar todo tipo de operaciones en el intérprete:

>>> # Operaciones matemáticas
>>> 10 / 3
3.3333333333333335
>>> 10 // 3  # División entera
3
>>> 10 % 3   # Módulo (resto)
1
>>> 2 ** 8   # Potencia
256

>>> # Operaciones con cadenas
>>> "Python" * 3
'PythonPythonPython'
>>> "Programación".upper()
'PROGRAMACIÓN'

>>> # Variables y asignaciones
>>> contador = 0
>>> contador += 1
>>> contador
1

Funciones de ayuda en el intérprete

El intérprete incluye funciones útiles para obtener información:

  1. help(): Proporciona documentación sobre objetos, funciones o módulos

    >>> help(print)
    # Muestra información sobre la función print
    >>> help()  # Modo de ayuda interactiva
    
  2. dir(): Muestra los atributos y métodos disponibles

    >>> dir("texto")  # Muestra todos los métodos de las cadenas
    
  3. type(): Revela el tipo de un objeto

    >>> type(5)
    <class 'int'>
    >>> type("Hola")
    <class 'str'>
    

Salir del intérprete

Para salir del intérprete interactivo:

  • Escribe exit() o quit() y presiona Enter
  • O utiliza la combinación de teclas Ctrl+Z seguido de Enter (Windows) o Ctrl+D (macOS/Linux)

Ejecución de scripts de Python

Un script de Python es un archivo de texto con extensión .py que contiene código Python. A diferencia del intérprete interactivo, los scripts permiten guardar y reutilizar programas completos.

Creación de un script de Python

Para crear un script:

  1. Abre un editor de texto o IDE
  2. Escribe tu código Python
  3. Guarda el archivo con extensión .py

Ejemplo de un script sencillo (mi_script.py):

# Este es un script sencillo de Python

# Definimos una función
def saludar(nombre):
    return f"¡Hola, {nombre}! Bienvenido/a a Python."

# Pedimos el nombre al usuario
nombre_usuario = input("Por favor, introduce tu nombre: ")

# Llamamos a la función y mostramos el resultado
mensaje = saludar(nombre_usuario)
print(mensaje)

# Hacemos un pequeño cálculo
edad = input("¿Cuántos años tienes? ")
edad = int(edad)  # Convertimos la entrada a número
años_en_2030 = 2030 - 2025 + edad

print(f"En el año 2030 tendrás {años_en_2030} años.")

Ejecución de scripts

Hay varias formas de ejecutar un script:

  1. Desde la línea de comandos:

    • Abre una terminal o símbolo del sistema
    • Navega hasta la carpeta donde guardaste el script
    • Ejecuta:
      python mi_script.py    # Windowspython3 mi_script.py   # macOS/Linux
      
  2. Desde IDLE:

    • Abre el script en IDLE
    • Presiona F5 o ve a Run > Run Module
  3. Desde editores como VS Code o PyCharm:

    • Abre el archivo en el editor
    • Usa el botón de ejecución (normalmente un triángulo verde o botón "Play")
  4. Haciendo el script ejecutable (solo en Linux/macOS):

    • Añade una línea shebang al inicio del script:
      #!/usr/bin/env python3
      
    • Da permisos de ejecución:
      chmod +x mi_script.py
      
    • Ejecuta directamente:
      ./mi_script.py
      

Argumentos de línea de comandos

Los scripts pueden recibir parámetros desde la línea de comandos, lo que aumenta su flexibilidad:

# argumentos.py
import sys

# sys.argv es una lista que contiene los argumentos pasados al script
# sys.argv[0] es el nombre del script
# sys.argv[1], sys.argv[2], etc. son los argumentos adicionales

if len(sys.argv) > 1:
    print(f"¡Hola, {sys.argv[1]}!")
else:
    print("Por favor, proporciona tu nombre como argumento.")

# Si hay más argumentos, los mostramos todos
if len(sys.argv) > 2:
    print("Argumentos adicionales:")
    for i in range(2, len(sys.argv)):
        print(f"  {i}. {sys.argv[i]}")

Para ejecutar este script con argumentos:

python argumentos.py Carlos María José

Salida:

¡Hola, Carlos!
Argumentos adicionales:
  2. María
  3. José

Importación de módulos en scripts

Los scripts pueden importar funcionalidades de otros módulos o paquetes:

# calculadora.py
import math
import random

# Uso de funciones del módulo math
numero = 16
raiz_cuadrada = math.sqrt(numero)
print(f"La raíz cuadrada de {numero} es {raiz_cuadrada}")

# Uso de funciones del módulo random
numero_aleatorio = random.randint(1, 100)
print(f"Número aleatorio entre 1 y 100: {numero_aleatorio}")

# Podemos usar también módulos propios
# (Esto funcionaría si tuviéramos un archivo llamado mis_funciones.py)
# import mis_funciones
# resultado = mis_funciones.suma(5, 3)

Ejecución mediante importación

Python permite que un script sea tanto ejecutable como importable. Para ello, se utiliza la estructura:

# mi_programa.py

def funcion_principal():
    print("Ejecutando la función principal")
    # Código de la función principal...

# Este bloque solo se ejecuta si el script se ejecuta directamente,
# no cuando se importa como un módulo
if __name__ == "__main__":
    funcion_principal()

Esta estructura permite:

  • Ejecutar el script directamente: python mi_programa.py
  • Importar sus funciones desde otro script sin ejecutar el código principal:
    import mi_programami_programa.funcion_principal()  # Llamada explícita a la función
    

Diferencias entre el intérprete y los scripts

Característica Intérprete interactivo Scripts
Persistencia El código no se guarda automáticamente El código se guarda en archivos
Ejecución Línea por línea Todo el programa de una vez
Caso de uso ideal Pruebas rápidas, exploración Programas completos, reutilizables
Estado de variables Disponible durante toda la sesión Reiniciado en cada ejecución
Entrada de datos Principalmente manual Puede automatizarse
Depuración Inmediata, línea a línea Requiere herramientas específicas

Consejos prácticos

  1. Combina ambos enfoques:

    • Usa el intérprete para probar conceptos
    • Cuando tengas algo funcional, pásalo a un script
  2. Durante el aprendizaje:

    • Mantén abierta una sesión del intérprete para probar ejemplos
    • Guarda tus avances en scripts organizados por temas
  3. Para scripts más complejos:

    • Divide tu código en funciones
    • Usa comentarios para documentar el funcionamiento
    • Implementa manejo de errores con try/except
  4. Depuración eficiente:

    • En scripts, añade print() estratégicos para ver valores intermedios
    • En el intérprete, examina variables después de cada paso

Resumen

En este artículo hemos explorado las dos formas principales de ejecutar código Python: el intérprete interactivo y los scripts. El intérprete nos ofrece un entorno de experimentación inmediata, ideal para aprender y probar ideas rápidamente. Por otro lado, los scripts nos permiten crear programas permanentes, reutilizables y más complejos. Ambos métodos tienen sus ventajas y casos de uso específicos, y aprovecharlos adecuadamente te ayudará a ser más eficiente en el desarrollo con Python. En el próximo artículo, profundizaremos en la sintaxis básica de Python, incluyendo la importancia de la sangría, los comentarios y las convenciones de código que te permitirán escribir programas legibles y bien estructurados.