Python
Ejecutar scripts de Python fácilmente: una guía para principiantes

Ejecutar scripts de Python fácilmente: una guía para principiantes

MoeNagy Dev

Ejecutar scripts de Python: lo básico

Comprender el intérprete de Python

El intérprete de Python es el software que ejecuta el código de Python. Es responsable de traducir el código de Python de alto nivel en instrucciones legibles por la máquina que la computadora puede entender y ejecutar. El intérprete es el componente central que te permite ejecutar scripts de Python en tu sistema.

Identificar la ubicación del intérprete

La ubicación del intérprete de Python en tu sistema depende de tu sistema operativo y de cómo hayas instalado Python. En Windows, el intérprete generalmente se encuentra en el directorio C:\Python[versión], donde [versión] representa la versión específica de Python que has instalado. En macOS y Linux, el intérprete generalmente se encuentra en el directorio /usr/bin/python o /usr/local/bin/python.

Verificar la versión de Python

Antes de ejecutar tus scripts de Python, es importante asegurarte de tener la versión correcta de Python instalada. Puedes verificar la versión de Python instalada en tu sistema abriendo el símbolo del sistema (Windows) o terminal (macOS / Linux) y ejecutando el siguiente comando:

python --version

Esto mostrará la versión de Python instalada en tu sistema, como por ejemplo "Python 3.9.2".

Ejecutar scripts de Python desde la línea de comandos

Abrir el símbolo del sistema / terminal

Para ejecutar scripts de Python desde la línea de comandos, deberás abrir el símbolo del sistema o terminal correspondiente a tu sistema operativo:

  • Windows: Abre el menú de inicio, busca "Símbolo del sistema" y ejecútalo.
  • macOS / Linux: Abre la aplicación Terminal, que generalmente se encuentra en la carpeta Utilidades o buscándola.

Navegar al directorio del script

Una vez que tengas abierto el símbolo del sistema o terminal, debes navegar al directorio donde se encuentra tu script de Python. Puedes hacer esto utilizando el comando cd (cambiar directorio) seguido de la ruta al directorio de tu script.

Por ejemplo, si tu script se encuentra en C:\Users\TuNombreDeUsuario\mi_script.py en Windows, deberías ejecutar:

cd C:\Users\TuNombreDeUsuario

En macOS / Linux, si tu script se encuentra en /home/nombredeusuario/mi_script.py, deberías ejecutar:

cd /home/nombredeusuario

Ejecutar el script de Python

Después de navegar al directorio del script, puedes ejecutar el script de Python utilizando el siguiente comando:

python mi_script.py

Esto ejecutará el archivo mi_script.py utilizando el intérprete de Python.

Manejo de argumentos en la línea de comandos

Si tu script de Python acepta argumentos en la línea de comandos, puedes pasarlos al script incluyéndolos después del nombre del script. Por ejemplo, si tu script espera dos argumentos, puedes ejecutarlo de la siguiente manera:

python mi_script.py arg1 arg2

Dentro de tu script de Python, puedes acceder a estos argumentos utilizando la lista sys.argv, que contiene todos los argumentos de línea de comandos, incluyendo el propio nombre del script.

import sys
 
print("Nombre del script:", sys.argv[0])
print("Argumento 1:", sys.argv[1])
print("Argumento 2:", sys.argv[2])

Automatizar la ejecución de scripts con archivos de lote / scripts de shell

Crear un archivo de lote (Windows)

En Windows, puedes crear un archivo de lote (extensión .bat o .cmd) para automatizar la ejecución de tu script de Python. Aquí tienes un ejemplo de un archivo de lote que ejecuta un script de Python:

@echo off
python C:\Users\TuNombreDeUsuario\mi_script.py

Guarda este archivo con la extensión .bat o .cmd, y puedes ejecutarlo haciendo doble clic en el archivo o desde el símbolo del sistema.

Crear un script de shell (macOS / Linux)

En macOS y Linux, puedes crear un script de shell (extensión .sh) para automatizar la ejecución de tu script de Python. Aquí tienes un ejemplo de un script de shell:

#!/bin/bash
python /home/nombredeusuario/mi_script.py

Haz que el script sea ejecutable ejecutando el siguiente comando:

chmod +x /home/nombredeusuario/mi_script.sh

Luego, puedes ejecutar el script escribiendo ./mi_script.sh en el terminal.

Programar la ejecución de scripts

También puedes programar la ejecución de tus scripts de Python utilizando las herramientas integradas de programación de tareas en tu sistema operativo:

  • Windows: Usa el Programador de tareas para crear una nueva tarea que ejecute tu archivo de lote o script de Python en un momento o intervalo específico.
  • macOS / Linux: Usa la utilidad cron para programar la ejecución de tu script de shell o script de Python a intervalos regulares.

Integrar scripts de Python en aplicaciones

Incrustar Python en programas C/C++

Puedes incrustar el intérprete de Python dentro de tus aplicaciones C o C++, lo que te permite ejecutar scripts de Python desde tu programa. Esto se hace utilizando la API de Python/C, que proporciona un conjunto de funciones y macros para interactuar con el intérprete de Python.

Aquí tienes un ejemplo sencillo de cómo incrustar Python en un programa C:

#include <Python.h>
 
int main() {
    Py_Initialize();
    PyRun_SimpleString("print('¡Hola desde Python incrustado!')");
    Py_Finalize();
    return 0;
}

Este código inicializa el intérprete de Python, ejecuta una simple sentencia de Python y luego apaga el intérprete.

Llamar a scripts de Python desde aplicaciones Java/C#

También puedes llamar a scripts de Python desde tus aplicaciones Java o C# utilizando varias bibliotecas y frameworks. Para Java, puedes utilizar la biblioteca jython, que te permite incrustar el intérprete de Python dentro de tu programa Java. Para C#, puedes utilizar la biblioteca IronPython, que proporciona una implementación .NET del lenguaje Python.

Aquí tienes un ejemplo de cómo llamar a un script de Python desde una aplicación Java utilizando Jython:

import org.python.util.PythonInterpreter;
 
public class IntegracionJavaPython {
    public static void main(String[] args) {
PythonInterpreter interpreter = new PythonInterpreter();
interpreter.exec("print('¡Hola desde el script de Python!')");
}
}

Utilizando el módulo Subprocess de Python

El módulo subprocess en Python te permite ejecutar comandos externos, incluidos otros scripts de Python, desde tu código Python. Esto puede ser útil para integrar scripts de Python en aplicaciones o flujos de trabajo más grandes.

Aquí tienes un ejemplo de cómo usar el módulo subprocess para ejecutar un script de Python:

import subprocess
 
subprocess.run(["python", "mi_script.py"])

Esto ejecutará el archivo mi_script.py utilizando el intérprete de Python.

Ejecutando Scripts de Python en Entornos de Desarrollo Integrados (IDEs)

Ejecutando Scripts en PyCharm

En PyCharm IDE, puedes ejecutar tus scripts de Python abriendo el archivo de script y haciendo clic en el botón "Run" en la barra de herramientas o presionando Ctrl+Shift+F10 (Windows/Linux) o Cmd+Shift+F10 (macOS). PyCharm detectará automáticamente el intérprete de Python y ejecutará el script.

Ejecutando Scripts en Visual Studio Code

Visual Studio Code (VS Code) ofrece un excelente soporte para ejecutar scripts de Python. Puedes abrir tu archivo de script y luego usar el comando "Run Python File in Terminal" (accesible mediante el Command Palette o el menú contextual del clic derecho) para ejecutar el script en la terminal integrada.

Ejecutando Scripts en Jupyter Notebook

Jupyter Notebook es un entorno de computación interactivo que te permite escribir y ejecutar código Python en una interfaz basada en web. Para ejecutar un script de Python en Jupyter Notebook, simplemente copia el contenido de tu script en una nueva celda de código y ejecútala presionando Shift+Enter.

Bucles e Iteraciones

Los bucles son una estructura de control fundamental en Python que permite ejecutar repetidamente un bloque de código. Python proporciona dos tipos principales de bucles: bucles for y bucles while.

Bucles for

Los bucles for se utilizan para iterar sobre una secuencia (como una lista, tupla, cadena o rango) y realizar una tarea específica para cada elemento en la secuencia. La sintaxis general de un bucle for es:

for elemento in secuencia:
    # hacer algo con el elemento

Aquí tienes un ejemplo de cómo usar un bucle for para iterar sobre una lista e imprimir cada elemento:

frutas = ['manzana', 'banana', 'cereza']
for fruta in frutas:
    print(fruta)

Salida:

manzana
banana
cereza

También puedes usar la función range() para crear una secuencia de números y recorrerla:

for i in range(5):
    print(i)

Salida:

0
1
2
3
4

Bucles while

Los bucles while se utilizan para ejecutar repetidamente un bloque de código mientras se cumple una determinada condición. La sintaxis general de un bucle while es:

while condición:
    # hacer algo

Aquí tienes un ejemplo de cómo usar un bucle while para contar desde 5 hasta 1:

count = 5
while count > 0:
    print(count)
    count -= 1
print("¡Despegue!")

Salida:

5
4
3
2
1
¡Despegue!

Bucles Anidados

También puedes usar bucles dentro de otros bucles, que se llaman bucles anidados. Esto es útil cuando necesitas realizar una tarea para cada combinación de elementos de dos o más secuencias.

Aquí tienes un ejemplo de cómo usar bucles for anidados para imprimir todas las combinaciones posibles de números del 1 al 3:

for i in range(1, 4):
    for j in range(1, 4):
        print(i, j)

Salida:

1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3

Sentencias de Control de Bucles

Python proporciona varias sentencias de control de bucles que se pueden utilizar para modificar el comportamiento de los bucles:

  • break: Termina el bucle inmediatamente y transfiere la ejecución a la sentencia inmediatamente después del bucle.
  • continue: Omite la iteración actual del bucle y pasa a la siguiente iteración.
  • pass: No hace nada. Es un marcador de posición que se puede utilizar cuando se requiere sintácticamente una sentencia pero no se debe tomar ninguna acción.

Aquí tienes un ejemplo de cómo usar la sentencia break para salir de un bucle cuando se cumple una determinada condición:

count = 0
while True:
    print(count)
    count += 1
    if count >= 5:
        break

Salida:

0
1
2
3
4

Funciones

Las funciones son bloques de código reutilizables que realizan una tarea específica. Te permiten organizar tu código, hacerlo más legible y promover la reutilización de código.

Definiendo Funciones

Para definir una función en Python, utilizas la palabra clave def seguida del nombre de la función, un conjunto de paréntesis y dos puntos. El cuerpo de la función está sangrado y contiene el código que se ejecutará cuando se llame a la función.

Aquí tienes un ejemplo de una función simple que calcula el área de un rectángulo:

def calcular_area(longitud, ancho):
    area = longitud * ancho
    return area

Llamando a Funciones

Para llamar a una función, simplemente utilizas el nombre de la función seguido de un conjunto de paréntesis. Si la función toma argumentos, los pasas dentro de los paréntesis.

resultado = calcular_area(5, 3)
print(resultado)  # Salida: 15

Argumentos de Funciones

Las funciones pueden tomar cero o más argumentos. Los argumentos pueden ser de cualquier tipo de datos, e incluso puedes tener valores predeterminados para los argumentos.

Aquí tienes un ejemplo de una función que saluda a una persona con un saludo personalizable:

def saludar(nombre, saludo="Hola"):
    print(f"{saludo}, ¡{nombre}!")
 
saludar("Alice")  # Salida: Hola, Alice!
saludar("Bob", "Hola")  # Salida: Hola, Bob!

Valores de Retorno

Las funciones pueden devolver valores utilizando la instrucción return. Puedes devolver cualquier tipo de datos, incluidas estructuras de datos complejas como listas, diccionarios u objetos personalizados.

Aquí tienes un ejemplo de una función que devuelve la suma de dos números:

def sumar_numeros(a, b):
    return a + b
 
resultado = sumar_numeros(3, 4)
print(resultado)  # Salida: 7

Ámbito y Variables

Python tiene dos tipos principales de ámbito: global y local. Las variables definidas fuera de cualquier función o clase se consideran globales, mientras que las variables definidas dentro de una función se consideran locales. Aquí tienes un ejemplo que muestra la diferencia entre variables globales y locales:

variable_global = "¡Soy global!"
 
def mi_funcion():
    variable_local = "¡Soy local!"
    print(variable_global)
    print(variable_local)
 
mi_funcion()  # Salida: ¡Soy global! ¡Soy local!
print(variable_global)  # Salida: ¡Soy global!
print(variable_local)  # NameError: name 'variable_local' is not defined

Módulos y Paquetes

En Python, los módulos y paquetes se utilizan para organizar y reutilizar código.

Módulos

Un módulo es un único archivo de Python que contiene definiciones y declaraciones. Los módulos te permiten descomponer tu código en piezas más pequeñas y manejables.

Aquí tienes un ejemplo de cómo crear y usar un módulo simple:

  1. Crea un archivo llamado mi_modulo.py con el siguiente contenido:
def saludar(nombre):
    print(f"¡Hola, {nombre}!")
  1. Crea un nuevo archivo de Python e importa la función saludar del módulo mi_modulo:
from mi_modulo import saludar
 
saludar("Alice")  # Salida: ¡Hola, Alice!

Paquetes

Un paquete es una colección de módulos organizados en una estructura de directorios. Los paquetes te permiten agrupar módulos relacionados y crear un espacio de nombres jerárquico para tu código.

Aquí tienes un ejemplo de cómo crear y usar un paquete simple:

  1. Crea un directorio llamado mi_paquete con la siguiente estructura:

    • mi_paquete/
      • __init__.py
      • utils.py
  2. En el archivo utils.py, añade el siguiente código:

def cuadrado(x):
    return x ** 2
  1. En el archivo __init__.py, añade el siguiente código:
from .utils import cuadrado
  1. Crea un nuevo archivo de Python e importa la función cuadrado del paquete mi_paquete:
from mi_paquete import cuadrado
 
resultado = cuadrado(5)
print(resultado)  # Salida: 25

Conclusión

En este tutorial, has aprendido los siguientes conceptos clave en Python:

  • Bucles e Iteraciones: bucles for, bucles while, bucles anidados y declaraciones de control de bucles.
  • Funciones: Definición, llamada, argumentos, valores de retorno y alcance.
  • Módulos y Paquetes: Creación y uso de módulos y paquetes para organizar y reutilizar código.

Estos conceptos son esenciales para construir aplicaciones Python más complejas y robustas. Con los conocimientos adquiridos, ahora puedes explorar temas más avanzados de programación en Python, como la programación orientada a objetos, el manejo de archivos y el trabajo con bibliotecas y frameworks externos.

Recuerda, la mejor manera de mejorar tus habilidades en Python es practicar regularmente y aplicar lo que has aprendido a problemas del mundo real. ¡Buena suerte con tus futuros proyectos de Python!