mi茅rcoles, 16 de julio de 2025

馃И Python Nivel 2 – Parte 16: Gesti贸n de Dependencias con pip y Archivos requirements.txt

 

馃幆 ¿Qu茅 aprender谩s?

✅ Qu茅 es pip y c贸mo instalar librer铆as externas
✅ C贸mo crear y usar un requirements.txt
✅ C贸mo compartir tu entorno de desarrollo
✅ Buenas pr谩cticas para proyectos colaborativos


馃П ¿Qu茅 es pip?

pip es el gestor de paquetes de Python.
Con 茅l puedes instalar librer铆as externas con un solo comando:


pip install requests

Esto te permite reutilizar librer铆as que otros desarrolladores han publicado.


馃梻 ¿Qu茅 es un archivo requirements.txt?

Es un archivo de texto donde defines todas las dependencias necesarias de tu proyecto, l铆nea por l铆nea.


requests==2.31.0 flask==2.3.2

馃敡 C贸mo generarlo autom谩ticamente:


pip freeze > requirements.txt

Esto guarda todas las librer铆as y versiones que tienes en tu entorno actual.


馃攧 C贸mo instalar dependencias desde el archivo:


pip install -r requirements.txt

✅ As铆 puedes compartir tu proyecto con otros, y podr谩n instalar todo de forma autom谩tica.


馃И Ejemplo paso a paso:

  1. Crea un entorno virtual:


    python -m venv venv
  2. Act铆valo:

    • En Windows: venv\Scripts\activate

    • En macOS/Linux: source venv/bin/activate

  3. Instala una librer铆a:


    pip install rich
  4. Guarda dependencias:


    pip freeze > requirements.txt
  5. Usa requirements.txt en cualquier m谩quina:


    pip install -r requirements.txt

馃摝 Buenas pr谩cticas

✔️ Siempre usa entornos virtuales
✔️ No subas carpetas venv al repositorio
✔️ Usa requirements.txt para compartir dependencias
✔️ Usa pip freeze solo dentro del entorno virtual


馃 ¿Qu茅 aprendiste hoy?

✔️ C贸mo instalar paquetes externos con pip
✔️ C贸mo crear y usar un archivo requirements.txt
✔️ C贸mo colaborar y compartir tu proyecto f谩cilmente
✔️ Buenas pr谩cticas para un entorno Python profesional


馃搨 C贸digo de ejemplo en GitHub:
github.com/josecodetech

馃帴 Video explicativo en YouTube:
https://youtu.be/kKdl9ZoajV0



jueves, 10 de julio de 2025

馃И Python Nivel 2 – Parte 15: Introducci贸n a Testing con unittest

 

馃幆 ¿Qu茅 aprender谩s?

✅ Qu茅 es el testing y por qu茅 es esencial
✅ C贸mo crear tests automatizados con unittest
✅ Qu茅 es un test case y c贸mo definirlo
✅ C贸mo comprobar que el c贸digo funciona correctamente
✅ Qu茅 hacer cuando un test falla


馃П ¿Qu茅 es unittest?

unittest es el m贸dulo est谩ndar de Python para pruebas automatizadas.
Permite crear clases de test que validan que tus funciones y m茅todos se comporten correctamente.


馃摝 Estructura b谩sica de un test:


import unittest def suma(a, b): return a + b class TestSuma(unittest.TestCase): def test_suma_positivos(self): self.assertEqual(suma(2, 3), 5) def test_suma_negativos(self): self.assertEqual(suma(-2, -3), -5) if __name__ == '__main__': unittest.main()

✅ ¿Qu茅 hace cada parte?

  • import unittest: importa el framework

  • class TestX(unittest.TestCase): define un grupo de tests

  • self.assertEqual(...): compara resultado esperado con resultado real

  • unittest.main(): ejecuta todos los tests definidos


馃И Otros m茅todos de validaci贸n


self.assertNotEqual(a, b) self.assertTrue(condici贸n) self.assertFalse(condici贸n) self.assertIn(valor, lista) self.assertRaises(ErrorEsperado, funcion, args)

馃挕 ¿Cu谩ndo hacer testing?

✔️ Al desarrollar funciones cr铆ticas
✔️ Cuando mantienes proyectos grandes
✔️ Al trabajar en equipo
✔️ Para prevenir errores en producci贸n


馃‍馃捇 Ejemplo real con clase Usuario


class Usuario: def __init__(self, nombre): self.nombre = nombre def saludo(self): return f"Hola, {self.nombre}" class TestUsuario(unittest.TestCase): def test_saludo(self): u = Usuario("Ana") self.assertEqual(u.saludo(), "Hola, Ana")

馃 ¿Qu茅 aprendiste hoy?

✔️ A automatizar pruebas con unittest
✔️ A validar comportamientos de funciones y clases
✔️ A escribir c贸digo m谩s confiable y profesional
✔️ A detectar errores antes de que lleguen al usuario


馃搨 C贸digo de ejemplo en GitHub:
github.com/josecodetech

馃帴 Video paso a paso en YouTube:
https://youtu.be/-2Dj28lOn8E


mi茅rcoles, 9 de julio de 2025

馃И Python Nivel 2 – Parte 14: Uso de Decoradores (Decorators) en Python

 

馃幆 ¿Qu茅 aprender谩s?

✅ Qu茅 son los decoradores y para qu茅 sirven
✅ C贸mo crear y aplicar decoradores
✅ C贸mo usarlos para validar, medir tiempos o modificar comportamiento
✅ Decoradores anidados y con par谩metros


馃П ¿Qu茅 es un decorador?

Un decorador en Python es una funci贸n que recibe otra funci贸n como argumento y devuelve una nueva funci贸n con funcionalidades a帽adidas, sin modificar su estructura interna.


馃敡 Sintaxis b谩sica


def mi_decorador(funcion_original): def nueva_funcion(): print("Antes de ejecutar") funcion_original() print("Despu茅s de ejecutar") return nueva_funcion @mi_decorador def saludar(): print("Hola!") saludar()

馃 Salida:


Antes de ejecutar Hola! Despu茅s de ejecutar

✅ ¿Para qu茅 sirven los decoradores?

✔️ Validar par谩metros
✔️ Medir tiempos de ejecuci贸n
✔️ Agregar logs o registros
✔️ Controlar permisos o acceso
✔️ Reutilizar c贸digo sin repetir l贸gica


馃晲 Ejemplo: medir tiempo de ejecuci贸n


import time def medir_tiempo(func): def wrapper(*args, **kwargs): inicio = time.time() resultado = func(*args, **kwargs) fin = time.time() print(f"Tiempo: {fin - inicio:.2f}s") return resultado return wrapper @medir_tiempo def procesar(): time.sleep(2) print("Proceso terminado") procesar()

馃З Decorador con argumentos


def repetir(n): def decorador(func): def wrapper(*args, **kwargs): for _ in range(n): func(*args, **kwargs) return wrapper return decorador @repetir(3) def hola(): print("Hola!") hola()

馃 ¿Qu茅 aprendiste hoy?

✔️ Qu茅 son y c贸mo funcionan los decoradores
✔️ C贸mo aplicarlos en funciones reales
✔️ C贸mo pasar par谩metros a los decoradores
✔️ A reutilizar l贸gica de forma limpia y elegante


馃搨 C贸digo de ejemplos en GitHub:
github.com/josecodetech

馃帴 Video explicativo en YouTube:
https://youtu.be/oloxPaRSGpg



馃И Python Nivel 2 – Parte 13: Documentar tu C贸digo con Docstrings y Buenas Pr谩cticas

 

馃幆 ¿Qu茅 aprender谩s?

✅ Qu茅 es un docstring y c贸mo escribirlo correctamente
✅ C贸mo documentar funciones, clases y m贸dulos
✅ C贸mo generar documentaci贸n autom谩tica
✅ Buenas pr谩cticas para que tu c贸digo sea m谩s legible y mantenible


馃П ¿Qu茅 es un Docstring?

Un docstring es un texto descriptivo que se coloca justo despu茅s de la definici贸n de una funci贸n, clase o m贸dulo.
Se escribe entre triples comillas (""" """") y sirve para explicar qu茅 hace, qu茅 par谩metros recibe y qu茅 devuelve.


馃‍馃捇 Ejemplo de funci贸n con docstring


def saludar(nombre): """ Devuelve un saludo personalizado. Par谩metros: nombre (str): El nombre de la persona a saludar. Retorna: str: Un saludo con el nombre. """ return f"Hola, {nombre}!"

馃摝 Docstring en una clase


class Usuario: """ Representa un usuario con nombre y email. """ def __init__(self, nombre, email): """ Inicializa un nuevo usuario. Par谩metros: nombre (str): Nombre del usuario. email (str): Correo electr贸nico del usuario. """ self.nombre = nombre self.email = email

馃О Buenas pr谩cticas al documentar

✔️ Usa lenguaje claro y conciso
✔️ Explica entradas y salidas
✔️ Usa estilo PEP 257 (recomendado en Python)
✔️ Incluye ejemplos cuando sea 煤til


馃И Acceder al docstring en tiempo de ejecuci贸n


print(saludar.__doc__) help(saludar)

馃搫 Docstring de m贸dulo

Coloca un docstring al principio del archivo .py:


""" M贸dulo para gestionar usuarios y sus datos. Contiene: - Clase Usuario - Funciones de validaci贸n """

馃殌 ¿Qu茅 aprendiste hoy?

✔️ A escribir documentaci贸n integrada con docstrings
✔️ A aplicar buenas pr谩cticas de c贸digo limpio
✔️ A facilitar el mantenimiento de tus programas
✔️ A comunicarte mejor con tu futuro yo (o tu equipo)


馃搨 Ejemplos documentados en GitHub:
github.com/josecodetech

馃帴 Video paso a paso en YouTube:
https://www.youtube.com/watch?v=DKz0CfiSbFs



domingo, 6 de julio de 2025

馃И Python Nivel 2 – Parte 12: Gesti贸n de Errores Personalizados y Excepciones Propias

 

馃幆 ¿Qu茅 aprender谩s en esta parte?

✅ C贸mo definir tus propias excepciones en Python
✅ Cu谩ndo y por qu茅 usar errores personalizados
✅ C贸mo lanzar errores con raise
✅ C贸mo capturarlos y diferenciarlos de otros errores
✅ Aplicaci贸n en sistemas reales: validaciones y reglas de negocio


馃П ¿Qu茅 son las excepciones personalizadas?

Son clases propias que heredan de Exception y te permiten controlar errores con m谩s precisi贸n y dar mensajes espec铆ficos a cada situaci贸n.


馃敡 Ejemplo b谩sico:


class EdadInvalidaError(Exception): pass def verificar_edad(edad): if edad < 18: raise EdadInvalidaError("Debes ser mayor de edad.")

馃摝 ¿Por qu茅 usar excepciones propias?

✔️ Identificas claramente el tipo de error
✔️ Mejoras la organizaci贸n del c贸digo
✔️ Ayudas a otros desarrolladores a entender tu l贸gica
✔️ Puedes aplicar reglas de negocio complejas f谩cilmente


馃‍馃捇 Ejemplo real: Sistema de usuarios


class UsuarioExistenteError(Exception): pass usuarios_registrados = ["ana@mail.com", "luis@mail.com"] def registrar_usuario(email): if email in usuarios_registrados: raise UsuarioExistenteError("El usuario ya est谩 registrado.") usuarios_registrados.append(email)

馃И Capturando errores personalizados


try: registrar_usuario("ana@mail.com") except UsuarioExistenteError as e: print("⚠️ Error:", e)

馃攣 Jerarqu铆a de excepciones propias

Puedes crear subtipos para organizar mejor errores:


class ErrorUsuario(Exception): pass class UsuarioExistenteError(ErrorUsuario): pass class EmailInvalidoError(ErrorUsuario): pass

馃 ¿Qu茅 aprendiste hoy?

✔️ A crear tus propias excepciones con clases
✔️ A lanzar errores espec铆ficos con raise
✔️ A capturar errores personalizados con try-except
✔️ A mejorar la claridad y control de tus validaciones


馃搨 C贸digo de ejemplo en GitHub:
github.com/josecodetech

馃帴 Video paso a paso en YouTube:
https://youtu.be/6gpdqmTc8aE


s谩bado, 5 de julio de 2025

馃帗 Aprende Python gratis con certificado – ¡3 cursos disponibles solo para los 1000 primeros!

 ¿Quieres aprender a programar con Python y obtener certificado totalmente gratis?

He creado cupones exclusivos para acceder sin coste a 3 cursos completos en Udemy, cada uno con certificado de finalizaci贸n. ¡Pero atenci贸n! Solo estar谩n disponibles para los primeros 1000 inscritos en cada curso.

馃敼 Curso 1 – Programaci贸n con Python y Copilot
馃捇 Aprende a programar con la ayuda de la IA de GitHub Copilot en Visual Studio Code.
馃帗 Accede gratis al curso

馃敼 Curso 2 – Interfaces gr谩ficas con Tkinter
馃枼️ Crea tus propias aplicaciones visuales usando Python y Tkinter.
馃帗 Accede gratis al curso

馃敼 Curso 3 – Web Scraping con Python
馃寪 Aprende a extraer datos de p谩ginas web con Python de forma pr谩ctica y profesional.
馃帗 Accede gratis al curso


馃搶 Recuerda: son cursos 100% pr谩cticos, pensados para que aprendas paso a paso, con proyectos reales y obtengas un certificado que podr谩s a帽adir a tu curr铆culum.

馃摵 Adem谩s, en mi canal de YouTube @josecodetech tienes a煤n m谩s contenido, ejercicios y recursos complementarios para seguir aprendiendo programaci贸n.

✅ ¡Comparte esta publicaci贸n y no olvides valorar los cursos adecuadamente si te resultan 煤tiles!
Gracias por formar parte de esta comunidad de aprendizaje 馃殌