jueves, 2 de abril de 2026

¡Crea clases de datos limpias y rápidas con dataclasses! 🏗️✨

¿Sigues escribiendo clases simples para almacenar datos y te pasas la mitad del tiempo definiendo métodos repetitivos como __init__, __repr__, y __eq__?


Ese código "boilerplate" (repetitivo) hace que tus clases sean largas, difíciles de leer y propensas a errores si añades un campo nuevo y olvidas actualizar los métodos.

Mira este ejemplo tradicional de una clase Producto:

# ❌ MÉTODO ANTIGUO (Verboso y repetitivo)
class ProductoTradicional:
def __init__(self, nombre: str, precio: float, stock: int):
self.nombre = nombre
self.precio = precio
self.stock = stock

def __repr__(self):
# Necesario para que print() muestre algo útil
return f"Producto(nombre='{self.nombre}', precio={self.precio}, stock={self.stock})"

def __eq__(self, other):
# Necesario para comparar si dos productos son iguales
if not isinstance(other, ProductoTradicional):
return NotImplemented
return (self.nombre, self.precio, self.stock) == (other.nombre, other.precio, other.stock)

p1 = ProductoTradicional("Teclado", 49.99, 10)
print(p1) # Producto(nombre='Teclado', precio=49.99, stock=10)
¡Es demasiado código para algo tan simple! Python 3.7 introdujo la solución perfecta: el decorador @dataclass.


# ✅ CON DATACLASSES (Limpio y Automático ✨)
from dataclasses import dataclass

@dataclass
class ProductoModerno:
nombre: str
precio: float
stock: int

# ¡Python genera automáticamente __init__, __repr__, __eq__ y más!
p2 = ProductoModerno("Teclado", 49.99, 10)
print(p2) # ProductoModerno(nombre='Teclado', precio=49.99, stock=10)
print(p1 == p2) # False (son clases distintas, pero la comparación funciona)
¿Por qué debes usar dataclasses?

Cero Boilerplate: Escribes solo los campos y sus tipos. Python se encarga del resto.

Legibilidad extrema: Tu clase se centra en los datos, no en la implementación de métodos estándar.

Funciones avanzadas gratis: Puedes hacerlas inmutables fácilmente (frozen=True) o añadir ordenación automática (order=True).

¡Deja que Python escriba el código aburrido por ti y céntrate en la lógica de tu aplicación! 🚀🏗️

Más trucos avanzados de Python aquí 👇





viernes, 27 de febrero de 2026

🚀 ¡Domina GIT de una vez por todas y certifica tus conocimientos! 💻🔥


Si trabajas escribiendo código (ya sea en equipo o tú solo), no saber usar GIT es como escribir un libro sin ir guardando los cambios. ¡Es la herramienta obligatoria para cualquier desarrollador!

Para ayudarte a dar el paso, acabo de activar el cupón JOSECODETECHFEB26 en mi curso "GIT para Desarrolladores" en Udemy. Con este enlace tienes garantizado el MEJOR PRECIO disponible y, al terminar, obtendrás tu Certificado Oficial de Udemy para lucir en tu currículum o LinkedIn. 🎓

👇 Aprovecha el descuento máximo aquí: 🔗 https://www.udemy.com/course/git-para-desarrolladores/?couponCode=JOSECODETECHFEB26


🎁 ¿QUIERES MÁS RECURSOS GRATUITOS? Mi objetivo es que nunca dejes de aprender, por eso te recuerdo que tienes a tu disposición:

📂 Mi Repositorio de GitHub: Todo el código y los ejemplos que utilizo en mis cursos están en abierto para que los descargues y practiques por tu cuenta. 👉 https://github.com/josecodetech

📺 Mi Canal de YouTube: Decenas de vídeos, tutoriales y cursos completos (¡como el de Machine Learning!) totalmente gratis. 👉 https://www.youtube.com/@josecodetech


🙏 ¡UN PEQUEÑO FAVOR! Crear todo este contenido, tanto el gratuito como el premium, lleva muchísimas horas de dedicación. La mejor forma de apoyarme para que pueda seguir creando material es compartiendo esta publicación, recomendándola a tus compañeros de sector, o simplemente dejando un "Me gusta" y un comentario. ¡Me ayuda muchísimo a llegar a más gente! 🔄💙

¡Nos vemos en la terminal de comandos! 👨‍💻👩‍💻




domingo, 15 de febrero de 2026

One Hot Encoding

 Estoy avanzando a toda máquina con la creación de mi nuevo curso de Machine Learning con Python, basado en mi próximo libro. Hoy he subido el Capítulo 5 y quiero compartir un adelanto exclusivo con mi comunidad más cercana, solo para suscriptores del canal.


En este episodio abordamos uno de los problemas más comunes al preparar datos: ¿Cómo hacemos que un algoritmo entienda palabras como "Rojo", "Verde" o "Azul"? 🎨➡️🔢

Las máquinas solo entienden números, y aquí es donde entra en juego el One Hot Encoding.

🚀 Estado del Curso:
El curso completo se lanzará al público general en Mayo, pero si quieres ir aprendiendo y viendo el progreso paso a paso, ya puedes acceder al contenido de forma anticipada.

📽️ Mira el video 5 aquí: https://www.youtube.com/watch?v=cPF20XACsgM

¿Utilizáis get_dummies de Pandas o preferís OneHotEncoder de Scikit-learn? En el vídeo os cuento por qué prefiero el segundo para producción. 😉