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