Mostrando entradas con la etiqueta PythonDev. Mostrar todas las entradas
Mostrando entradas con la etiqueta PythonDev. Mostrar todas las entradas

sábado, 26 de julio de 2025

⚙️ Python Nivel 3 – Parte 3: Automatización de tareas con Scripts en Windows

🎯 ¿Qué aprenderás en esta parte?

✅ Qué es un script en Python
✅ Cómo automatizar tareas usando el Programador de tareas de Windows
✅ Aplicaciones útiles:

  • Limpieza de archivos

  • Generación de backup

  • ✅ Cómo registrar logs y controlar errores


🧾 ¿Qué es un script en Python?

Un script es un archivo .py que ejecuta automáticamente una serie de acciones. Por ejemplo:

🧹 Script 1: Limpiar archivos .log automáticamente


# limpiar_logs.py import os carpeta = "C:/Users/TU_USUARIO/Documentos/logs/" for archivo in os.listdir(carpeta): if archivo.endswith(".log"): os.remove(os.path.join(carpeta, archivo)) print("Limpieza de archivos .log completada.")

🛠️ ¿Cómo ejecutar este script automáticamente en Windows?

🪟 Paso 1: Guarda el script .py

Guarda el archivo con el nombre limpiar_logs.py en una carpeta segura. Ejemplo:
C:\scripts\limpiar_logs.py


🧭 Paso 2: Localiza tu ejecutable de Python

Por ejemplo:
C:\Users\TU_USUARIO\AppData\Local\Programs\Python\Python311\python.exe
(Cambia según tu versión)


📅 Paso 3: Abre el Programador de tareas

  1. Pulsa Windows + S y escribe Programador de tareas

  2. Haz clic en "Crear tarea básica"


🔧 Paso 4: Crea la tarea

  1. Nombre: Limpieza de archivos log

  2. Desencadenador: Diario, y elige una hora (por ejemplo, 3:00 AM)

  3. Acción: “Iniciar un programa”

    • Programa: ruta a python.exe

    • Argumentos: ruta al script → C:\scripts\limpiar_logs.py

    • Iniciar en: carpeta donde está el script (ej. C:\scripts\)


✅ Paso 5: Guarda y prueba la tarea

  • Puedes ejecutarla manualmente desde el programador: clic derecho → Ejecutar

  • Revisa que borre los archivos .log correctamente


📦 Ejemplo 2: Script para crear backups de carpetas


# backup_diario.py import shutil import datetime import os origen = "C:/Users/TU_USUARIO/Documentos/Importante/" destino_base = "C:/Users/TU_USUARIO/Respaldo/" fecha = datetime.datetime.now().strftime("%Y-%m-%d") destino = os.path.join(destino_base, f"respaldo_{fecha}") shutil.copytree(origen, destino) print(f"Backup realizado: {destino}")

Este script copiará todo el contenido de una carpeta en otra, añadiendo la fecha.


📔 ¿Cómo registrar errores y guardar logs?

Agrega esto a tus scripts:


import logging logging.basicConfig(filename='C:/scripts/logs/backup.log', level=logging.INFO) try: # tu código aquí logging.info("Backup completado correctamente") except Exception as e: logging.error(f"Error durante el respaldo: {e}")

🧠 Aplicaciones prácticas

  • 🧹 Limpieza de archivos temporales o logs antiguos

  • 📦 Backups automáticos de bases de datos, carpetas, etc.

  • 📊 Generación diaria de reportes

  • 📬 Envío automático de correos (con smtplib)

  • 🧪 Ejecución de scripts de análisis de datos o scraping


🔒 Recomendaciones

✅ Crea una carpeta tipo C:\scripts\ para tus scripts
✅ Usa rutas absolutas en Windows (C:/...)
✅ Agrega logs para saber si falló
✅ Protege tus scripts con permisos si son sensibles
✅ Puedes combinar con .bat si prefieres ejecutables


https://www.youtube.com/watch?v=aDJXoQnddG0

domingo, 2 de marzo de 2025

👉 Ejercicios Prácticos de Python: Manejo de Archivos y Datos

Después de aprender cómo leer, escribir y modificar archivos en Python, es hora de practicar con ejercicios reales y útiles.

Hoy resolveremos ejercicios sobre:
✔️ Leer y escribir archivos de texto (.txt)
✔️ Leer y escribir archivos CSV
✔️ Trabajar con JSON para almacenar datos estructurados
✔️ Ejemplo práctico explicado paso a paso

📌 Cada ejercicio incluye código, explicación y prueba de salida.


1️⃣ Ejercicio: Contar las Palabras en un Archivo de Texto

📍 Objetivo: Leer un archivo de texto y contar cuántas palabras tiene.

🔹 Código:

def contar_palabras(nombre_archivo): try: with open(nombre_archivo, "r") as archivo: contenido = archivo.read() palabras = contenido.split() print(f"El archivo tiene {len(palabras)} palabras.") except FileNotFoundError: print("❌ Error: El archivo no existe.") # Prueba la función contar_palabras("archivo.txt")

📌 Salida esperada (si el archivo tiene texto):

El archivo tiene 56 palabras.

✅ Se usa split() para dividir el texto en palabras.
✅ try-except evita que el programa se bloquee si el archivo no existe.


2️⃣ Ejercicio: Guardar una Lista en un Archivo CSV

📍 Objetivo: Escribir una lista de datos en un archivo CSV y luego leerlo.

🔹 Código:

import csv datos = [ ["Nombre", "Edad", "Ciudad"], ["José", 25, "Madrid"], ["Ana", 30, "Barcelona"], ["Carlos", 22, "Sevilla"] ] # Guardar datos en CSV with open("datos.csv", "w", newline="") as archivo: escritor = csv.writer(archivo) escritor.writerows(datos) # Leer el archivo CSV with open("datos.csv", "r") as archivo: lector = csv.reader(archivo) for fila in lector: print(fila)

📌 Salida esperada:

['Nombre', 'Edad', 'Ciudad'] ['José', '25', 'Madrid'] ['Ana', '30', 'Barcelona'] ['Carlos', '22', 'Sevilla']

✅ Ideal para trabajar con datos tabulares en Python.


3️⃣ Ejercicio: Guardar y Leer Datos en un Archivo JSON

📍 Objetivo: Guardar información de usuarios en un archivo JSON y luego leerla.

🔹 Código:

import json usuarios = [ {"nombre": "José", "edad": 25, "ciudad": "Madrid"}, {"nombre": "Ana", "edad": 30, "ciudad": "Barcelona"}, {"nombre": "Carlos", "edad": 22, "ciudad": "Sevilla"} ] # Guardar en JSON with open("usuarios.json", "w") as archivo: json.dump(usuarios, archivo, indent=4) # Leer el JSON with open("usuarios.json", "r") as archivo: datos = json.load(archivo) print(datos)

📌 Salida esperada:

[ {"nombre": "José", "edad": 25, "ciudad": "Madrid"}, {"nombre": "Ana", "edad": 30, "ciudad": "Barcelona"}, {"nombre": "Carlos", "edad": 22, "ciudad": "Sevilla"} ]

✅ JSON es ideal para trabajar con datos estructurados en Python.


4️⃣ Ejercicio: Buscar una Palabra en un Archivo

📍 Objetivo: Leer un archivo de texto y contar cuántas veces aparece una palabra específica.

🔹 Código:

def contar_ocurrencias(nombre_archivo, palabra): try: with open(nombre_archivo, "r") as archivo: contenido = archivo.read() cantidad = contenido.lower().count(palabra.lower()) print(f"La palabra '{palabra}' aparece {cantidad} veces en el archivo.") except FileNotFoundError: print("❌ Error: El archivo no existe.") # Prueba la función contar_ocurrencias("archivo.txt", "Python")

📌 Salida esperada:

La palabra 'Python' aparece 3 veces en el archivo.

✅ count() cuenta la cantidad de veces que aparece una palabra en el texto.


5️⃣ Ejercicio: Registrar y Leer Notas de Estudiantes

📍 Objetivo: Escribir y leer registros de estudiantes en un archivo de texto.

🔹 Código:

def guardar_estudiante(nombre, nota): with open("estudiantes.txt", "a") as archivo: archivo.write(f"{nombre}, {nota}\n") def leer_estudiantes(): try: with open("estudiantes.txt", "r") as archivo: for linea in archivo: print(linea.strip()) except FileNotFoundError: print("❌ Error: El archivo no existe.") # Agregar estudiantes guardar_estudiante("Carlos", 8.5) guardar_estudiante("Ana", 9.0) # Leer los datos leer_estudiantes()

📌 Salida esperada:

Carlos, 8.5 Ana, 9.0

✅ Ejemplo útil para registrar datos y consultarlos después.


🚀 Conclusión

✅ Hoy hemos resuelto ejercicios con manejo de archivos en Python.
✅ Estos ejercicios ayudan a leer, escribir y manipular datos de forma eficiente.
✅ Practica modificando el código para entenderlo mejor.

📌 Próximo post: Más ejercicios avanzados con bases de datos en Python (SQLite).

📂 Descarga los ejercicios en mi GitHub: github.com/josecodetech

🎥 Aprende con mis videos en YouTube: [Tu canal aquí]

💬 ¿Qué tipo de archivos sueles manejar en Python? Cuéntamelo en los comentarios.



sábado, 1 de marzo de 2025

👉 Manejo de Archivos en Python: Leer, Escribir y Modificar Información

El manejo de archivos en Python es fundamental para guardar y recuperar información de manera persistente. En este post, aprenderemos a:

✔️ Abrir y leer archivos en Python
✔️ Escribir y modificar archivos de texto
✔️ Diferencias entre modos de apertura (r, w, a)
✔️ Trabajar con archivos CSV y JSON
✔️ Ejemplo práctico explicado paso a paso

📌 Con estas técnicas, podrás almacenar y manipular datos de manera eficiente en Python.


1️⃣ Abrir y Leer un Archivo en Python

Para leer un archivo en Python, usamos la función open().

📌 Ejemplo: Leer todo el contenido de un archivo

with open("archivo.txt", "r") as archivo: contenido = archivo.read() print(contenido)

📌 Explicación:
✅ "archivo.txt" → Nombre del archivo que queremos leer.
✅ "r" → Indica que abrimos el archivo en modo lectura.
✅ with open(...) as archivo: → Asegura que el archivo se cierre automáticamente después de su uso.

📌 Ejemplo de salida (si el archivo contiene texto):

Hola, este es un archivo de prueba.

📍 Leer un Archivo Línea por Línea

Si queremos leer un archivo línea por línea, usamos .readlines().

with open("archivo.txt", "r") as archivo: for linea in archivo.readlines(): print(linea.strip()) # strip() elimina espacios en blanco y saltos de línea

📌 Salida esperada:

Línea 1 del archivo Línea 2 del archivo Línea 3 del archivo

✅ Ideal para procesar archivos grandes línea por línea.


2️⃣ Escribir en un Archivo en Python

Para escribir en un archivo, usamos el modo "w" o "a".

📌 Diferencias entre modos de apertura:
✔️ "w" (write) → Sobrescribe el contenido del archivo.
✔️ "a" (append) → Agrega contenido sin borrar lo anterior.

📌 Ejemplo: Escribir en un archivo (sobreescribe el contenido anterior)

with open("archivo.txt", "w") as archivo: archivo.write("Este es un nuevo contenido.\n") archivo.write("Se sobrescribió el archivo.\n")

📌 Ejemplo: Agregar texto a un archivo sin borrar lo anterior

with open("archivo.txt", "a") as archivo: archivo.write("Esta es una línea nueva.\n")

📌 Explicación:
✅ Modo "w" sobrescribe el contenido existente.
✅ Modo "a" agrega nuevas líneas al archivo sin eliminar lo anterior.


3️⃣ Leer y Escribir Archivos CSV en Python

Los archivos CSV (Comma-Separated Values) son muy usados para almacenar datos estructurados.

📌 Ejemplo: Escribir un archivo CSV

import csv with open("datos.csv", "w", newline="") as archivo: escritor = csv.writer(archivo) escritor.writerow(["Nombre", "Edad", "Ciudad"]) escritor.writerow(["José", 25, "Madrid"]) escritor.writerow(["María", 30, "Barcelona"])

📌 Ejemplo: Leer un archivo CSV

import csv with open("datos.csv", "r") as archivo: lector = csv.reader(archivo) for fila in lector: print(fila)

📌 Salida esperada:

['Nombre', 'Edad', 'Ciudad'] ['José', '25', 'Madrid'] ['María', '30', 'Barcelona']

✅ Ideal para trabajar con datos estructurados en Python.


4️⃣ Trabajar con Archivos JSON en Python

Los archivos JSON (JavaScript Object Notation) permiten almacenar y compartir datos en formato estructurado.

📌 Ejemplo: Escribir un archivo JSON

import json datos = { "nombre": "José", "edad": 25, "ciudad": "Madrid" } with open("datos.json", "w") as archivo: json.dump(datos, archivo, indent=4)

📌 Ejemplo: Leer un archivo JSON

import json with open("datos.json", "r") as archivo: datos = json.load(archivo) print(datos)

📌 Salida esperada:

{'nombre': 'José', 'edad': 25, 'ciudad': 'Madrid'}

✅ JSON es ampliamente utilizado en APIs y bases de datos.


5️⃣ Ejemplo Completo: Registrar y Leer Notas de Estudiantes

📌 Guardar información de estudiantes en un archivo de texto:

def guardar_estudiante(nombre, nota): with open("estudiantes.txt", "a") as archivo: archivo.write(f"{nombre}, {nota}\n") def leer_estudiantes(): with open("estudiantes.txt", "r") as archivo: for linea in archivo: print(linea.strip()) # Agregar estudiantes guardar_estudiante("Carlos", 8.5) guardar_estudiante("Ana", 9.0) # Leer los datos leer_estudiantes()

📌 Salida esperada:

Carlos, 8.5 Ana, 9.0

✅ Ejemplo útil para registrar datos y consultarlos después.


🚀 Conclusión

✅ open() permite leer y escribir archivos de texto.
✅ CSV y JSON son formatos clave para almacenar datos estructurados.
✅ Modo "r", "w" y "a" determinan cómo se manipula un archivo.
✅ Manejar archivos es clave para cualquier aplicación real en Python.

📌 Próximo post: Ejercicios prácticos sobre manejo de archivos en Python.

📂 Código disponible en mi GitHub: github.com/josecodetech

🎥 Aprende con mis videos en YouTube: https://www.youtube.com/@josecodetech

💬 ¿Has trabajado con archivos en Python? ¿Qué datos sueles almacenar? Cuéntamelo en los comentarios.



domingo, 23 de febrero de 2025

👉 Manejo de Excepciones y Errores en Python: Cómo Evitar Fallos en tu Código

A medida que escribimos código más complejo, es inevitable que aparezcan errores. En lugar de dejar que nuestro programa se bloquee, podemos manejar estos errores de manera controlada usando excepciones en Python.

Hoy aprenderás:
✔️ ¿Qué son las excepciones y por qué manejarlas?
✔️ Cómo usar try, except, finally
✔️ Capturar errores específicos en Python
✔️ Crear nuestras propias excepciones
✔️ Ejemplo práctico explicando su uso


1️⃣ ¿Qué son las Excepciones en Python?

Una excepción es un error que ocurre mientras el programa se está ejecutando. Si no manejamos las excepciones, el programa se detendrá abruptamente.

📌 Ejemplo de error sin manejo de excepciones:

numero = int(input("Introduce un número: ")) print(f"El doble es: {numero * 2}")

📌 Si el usuario introduce un texto en lugar de un número, el programa mostrará un error:

ValueError: invalid literal for int() with base 10

Para evitar que el programa se bloquee, usamos try y except.


2️⃣ Cómo Usar try y except para Manejar Errores

El bloque try intenta ejecutar el código y, si ocurre un error, el bloque except lo captura y muestra un mensaje en lugar de interrumpir el programa.

🔹 Ejemplo básico de manejo de excepciones:

try: numero = int(input("Introduce un número: ")) print(f"El doble es: {numero * 2}") except ValueError: print("❌ Error: Debes ingresar un número válido.")

✅ Si el usuario introduce un número, el código funciona normalmente.
✅ Si introduce texto, el except captura el error y muestra un mensaje sin bloquear el programa.

📌 Ejemplo de salida si el usuario ingresa texto:

❌ Error: Debes ingresar un número válido.

3️⃣ Capturar Errores Específicos en Python

Podemos capturar distintos tipos de errores para manejarlos de forma adecuada.

🔹 Ejemplo con múltiples excepciones:

try: lista = [1, 2, 3] indice = int(input("Introduce un índice: ")) print(f"Elemento en la posición {indice}: {lista[indice]}") except ValueError: print("❌ Error: Debes ingresar un número.") except IndexError: print("❌ Error: Índice fuera de rango.")

📌 Prueba este código e introduce:
✅ 1 → Muestra el elemento correcto.
✅ 100 → Muestra un IndexError.
✅ "hola" → Muestra un ValueError.


4️⃣ Usar finally para Código que Siempre se Ejecuta

El bloque finally se ejecuta siempre, independientemente de si hubo un error o no.

🔹 Ejemplo de finally en manejo de archivos:

try: archivo = open("datos.txt", "r") contenido = archivo.read() print(contenido) except FileNotFoundError: print("❌ Error: El archivo no existe.") finally: print("📌 Cierre de recursos completado.")

📌 Si el archivo datos.txt no existe, el programa mostrará:

❌ Error: El archivo no existe. 📌 Cierre de recursos completado.

✅ finally es útil para liberar recursos (como archivos o conexiones a bases de datos).


5️⃣ Crear Nuestras Propias Excepciones

Podemos definir nuestras propias excepciones personalizadas con raise.

🔹 Ejemplo de excepción personalizada:

def verificar_edad(edad): if edad < 18: raise ValueError("❌ Error: Debes ser mayor de edad.") print("✅ Acceso permitido.") try: edad = int(input("Introduce tu edad: ")) verificar_edad(edad) except ValueError as e: print(e)

📌 Si el usuario ingresa una edad menor a 18:

❌ Error: Debes ser mayor de edad.

✅ raise permite lanzar un error con un mensaje personalizado.


🚀 Conclusión

✅ try-except evita que los programas se bloqueen por errores inesperados.
✅ Podemos capturar errores específicos para manejarlos mejor.
✅ finally se usa para cerrar recursos como archivos o bases de datos.
✅ Podemos definir excepciones personalizadas con raise.

📌 Próximo post: Ejercicios prácticos de manejo de excepciones en Python.

📂 Código disponible en mi GitHub: github.com/josecodetech

🎥 Aprende con mis videos en YouTube: https://www.youtube.com/@josecodetech

💬 ¿Alguna vez has tenido un error inesperado en Python? Cuéntamelo en los comentarios.


lunes, 10 de febrero de 2025

👉 Estructuras de Datos en Python: Listas, Tuplas y Diccionarios

En el post anterior, aprendimos sobre funciones y módulos en Python, herramientas clave para escribir código limpio y reutilizable. Ahora es momento de explorar las estructuras de datos más utilizadas en Python:

✔️ Listas (list)
✔️ Tuplas (tuple)
✔️ Diccionarios (dict)

Estas estructuras nos permiten almacenar y manipular colecciones de datos de manera eficiente.


1️⃣ Listas en Python

Las listas (list) son estructuras dinámicas que pueden almacenar cualquier tipo de dato y pueden modificarse.

🔹 Ejemplo de lista en Python:

frutas = ["Manzana", "Banana", "Cereza"] print(frutas) # Imprime toda la lista print(frutas[0]) # Accede al primer elemento

📌 Salida esperada:

['Manzana', 'Banana', 'Cereza'] Manzana

✅ Listas son mutables, lo que significa que podemos agregar, modificar o eliminar elementos.


🔹 Operaciones con listas

frutas.append("Naranja") # Agregar un elemento frutas.remove("Banana") # Eliminar un elemento print(len(frutas)) # Número de elementos en la lista

📌 Salida esperada:

3

📌 Métodos útiles para listas:
✔️ append(elemento) → Agrega un elemento al final
✔️ remove(elemento) → Elimina un elemento específico
✔️ len(lista) → Devuelve la cantidad de elementos


2️⃣ Tuplas en Python

Las tuplas (tuple) son similares a las listas, pero inmutables (no se pueden modificar una vez creadas).

🔹 Ejemplo de tupla en Python:

colores = ("Rojo", "Verde", "Azul") print(colores[1]) # Acceder al segundo elemento

📌 Salida esperada:

Verde

✅ Ventajas de las tuplas:
✔️ Son más rápidas que las listas
✔️ Se pueden usar como claves en diccionarios
✔️ Ayudan a proteger los datos de modificaciones accidentales


3️⃣ Diccionarios en Python

Los diccionarios (dict) almacenan datos en pares clave-valor, lo que permite acceder a la información de manera eficiente.

🔹 Ejemplo de diccionario en Python:

persona = {"nombre": "José", "edad": 25, "ciudad": "Madrid"} print(persona["nombre"]) # Accede al valor de la clave 'nombre'

📌 Salida esperada:

José

✅ Características de los diccionarios:
✔️ Son mutables (se pueden modificar)
✔️ Permiten acceder a los valores a través de claves
✔️ Son muy usados en estructuras de datos avanzadas


🔹 Operaciones con diccionarios

persona["profesion"] = "Desarrollador" # Agregar un nuevo par clave-valor del persona["edad"] # Eliminar un par clave-valor print(persona.keys()) # Obtener todas las claves print(persona.values()) # Obtener todos los valores

📌 Salida esperada:

dict_keys(['nombre', 'ciudad', 'profesion']) dict_values(['José', 'Madrid', 'Desarrollador'])

📌 Métodos útiles para diccionarios:
✔️ keys() → Devuelve todas las claves
✔️ values() → Devuelve todos los valores
✔️ items() → Devuelve pares clave-valor


4️⃣ Ejemplo Práctico: Uso de Listas y Diccionarios Juntos

Supongamos que queremos almacenar información sobre varios estudiantes.

estudiantes = [ {"nombre": "Ana", "edad": 22, "carrera": "Ingeniería"}, {"nombre": "Carlos", "edad": 24, "carrera": "Medicina"}, {"nombre": "Sofía", "edad": 23, "carrera": "Arquitectura"}, ] for estudiante in estudiantes: print(estudiante["nombre"], "estudia", estudiante["carrera"])

📌 Salida esperada:

Ana estudia Ingeniería Carlos estudia Medicina Sofía estudia Arquitectura

✅ Aquí estamos usando una lista de diccionarios, lo que nos permite manejar múltiples conjuntos de datos de manera eficiente.


🚀 Conclusión

Hoy aprendimos a manejar listas, tuplas y diccionarios en Python, tres estructuras de datos fundamentales para cualquier programador.

✅ Listas → Colecciones dinámicas y mutables
✅ Tuplas → Colecciones inmutables y rápidas
✅ Diccionarios → Almacenan datos en pares clave-valor

En el próximo post, veremos programación orientada a objetos (POO) en Python y cómo definir clases y objetos. ¡No te lo pierdas!

📂 Descarga ejemplos y ejercicios en mi GitHub: github.com/josecodetech

🎥 Aprende con mis videos en YouTube: https://www.youtube.com/@josecodetech

💬 Déjame un comentario si tienes dudas o quieres que cubra algún tema en detalle.


👉 Funciones y Módulos en Python: Escribe Código Más Organizado y Reutilizable

 

Hasta ahora hemos aprendido sintaxis básica, condicionales y bucles en Python. Ahora es el momento de llevar nuestro código al siguiente nivel utilizando funciones y módulos.

Hoy veremos:
✔️ ¿Qué es una función y por qué usarla?
✔️ Cómo definir y llamar funciones en Python
✔️ Parámetros y valores de retorno
✔️ Uso de módulos y librerías externas
✔️ Ejemplos prácticos explicados paso a paso


1️⃣ ¿Qué es una función y por qué usarla?

Las funciones nos permiten dividir el código en partes reutilizables, mejorando la organización y evitando la repetición de código.

🔹 Ejemplo sin función (código repetitivo)

print("Hola, José") print("Hola, María") print("Hola, Carlos")

Este código se repite cada vez que queremos saludar a alguien. Para hacerlo más eficiente, podemos usar una función.


2️⃣ Cómo definir y llamar una función en Python

En Python, una función se define con def nombre_de_la_funcion(): y se ejecuta cuando la llamamos.

🔹 Ejemplo de función para saludar

def saludar(nombre): print("Hola,", nombre) saludar("José") saludar("María") saludar("Carlos")

✅ def saludar(nombre): → Define una función llamada saludar con un parámetro nombre.
✅ saludar("José") → Llama a la función y le pasa "José" como argumento.

📌 Salida esperada:

Hola, José Hola, María Hola, Carlos

3️⃣ Funciones con valores de retorno

A veces, una función necesita devolver un resultado en lugar de solo imprimirlo.

🔹 Ejemplo: Función para sumar dos números

def sumar(a, b): return a + b # Retorna la suma de los números resultado = sumar(5, 3) print("La suma es:", resultado)

✅ return a + b → Devuelve el resultado de la operación.
✅ resultado = sumar(5, 3) → Llama a la función y almacena el resultado en una variable.

📌 Salida esperada:

La suma es: 8

4️⃣ Uso de Módulos y Librerías Externas

Python permite organizar el código en módulos, que son archivos .py con funciones reutilizables.

🔹 Ejemplo: Crear y usar un módulo en Python

1️⃣ Crea un archivo llamado operaciones.py con esta función:

def multiplicar(a, b): return a * b

2️⃣ En otro archivo Python, importa y usa la función:

import operaciones resultado = operaciones.multiplicar(4, 6) print("El resultado de la multiplicación es:", resultado)

📌 Ventajas de los módulos:
✅ Evitan la repetición de código.
✅ Mejoran la organización y reutilización.
✅ Facilitan el mantenimiento del código.


5️⃣ Importar Módulos de Python

Python tiene muchos módulos incorporados que podemos usar sin necesidad de crearlos.

🔹 Ejemplo: Usando math para cálculos matemáticos

import math numero = 25 raiz_cuadrada = math.sqrt(numero) print("La raíz cuadrada de", numero, "es:", raiz_cuadrada)

✅ math.sqrt(numero) → Calcula la raíz cuadrada de un número.

📌 Salida esperada:

La raíz cuadrada de 25 es: 5.0

🚀 Conclusión

Hoy aprendimos cómo usar funciones y módulos en Python para escribir código más organizado y reutilizable.

✅ Las funciones nos ayudan a evitar código repetitivo.
✅ Los módulos permiten organizar mejor el código.
✅ Podemos importar módulos de Python para usar funcionalidades avanzadas.

En el próximo post, veremos estructuras de datos avanzadas en Python (listas, tuplas y diccionarios). ¡No te lo pierdas!

📂 Descarga ejemplos y ejercicios en mi GitHub: github.com/josecodetech

🎥 Aprende con mis videos en YouTube: https://www.youtube.com/@josecodetech/

💬 Déjame un comentario si tienes dudas o quieres que cubra algún tema en detalle.