Skip to content

SupernovaIa/poo-python

Repository files navigation

🐍 POO con Python

Capacitación práctica de Programación Orientada a Objetos con Python moderno.
Cada módulo combina teoría en Markdown con ejercicios progresivos para afianzar los conceptos.


🎯 Objetivos de la capacitación

Al completar esta capacitación, serás capaz de:

  • Diseñar modelos de dominio en Python usando clases y objetos
  • Aplicar los pilares de la POO: encapsulación, herencia, polimorfismo y abstracción
  • Aprovechar características propias de Python: duck typing, dataclasses y abc
  • Aplicar los principios SOLID en código real
  • Usar patrones de diseño idiomáticos en Python
  • Escribir clases limpias, bien diseñadas y mantenibles

👥 ¿A quién va dirigida?

A desarrolladores con conocimiento intermedio de Python que quieran incorporar o consolidar el paradigma orientado a objetos con buenas prácticas y enfoque práctico.


📁 Estructura del repositorio

poo-python/
│
├── 01-fundamentos/
├── 02-encapsulacion/
├── 03-herencia-y-composicion/
├── 04-polimorfismo-y-duck-typing/
├── 05-abstraccion/
├── 06-dataclasses-y-pydantic/
├── 07-relaciones-entre-objetos/
├── 08-principios-solid/
└── 09-patrones-de-diseno/

Cada carpeta contiene:

  • README.md — teoría del módulo con ejemplos
  • ejercicios/ — enunciados de los ejercicios
  • soluciones/ — soluciones de referencia (¡intenta resolverlos antes de mirar!)

📚 Temario

# Módulo Conceptos clave
01 Fundamentos de POO en Python Clases, objetos, __init__, métodos, self
02 Encapsulación _atributo, __atributo, @property, validación
03 Herencia y composición Herencia simple y múltiple, super(), composición
04 Polimorfismo y duck typing Duck typing, métodos mágicos (__str__, __add__...)
05 Abstracción Módulo abc, clases abstractas, interfaces informales
06 Dataclasses y Pydantic @dataclass, frozen=True, Pydantic models, validación de datos
07 Relaciones entre objetos Asociación, agregación, composición
08 Principios SOLID SRP, OCP, LSP, ISP, DIP con ejemplos en Python
09 Patrones de diseño Strategy, Factory, Singleton, Observer

🚀 Cómo empezar

  1. Clona el repositorio:
git clone https://gitlab.com/<tu-grupo>/poo-python.git
cd poo-python
  1. Empieza por el módulo 01 y avanza en orden. Cada README.md indica los prerrequisitos del módulo.

🛠️ Requisitos

  • Python 3.10 o superior
  • pydantic para el módulo 06:
pip install pydantic

📝 Convenciones del repositorio

  • El código sigue PEP 8
  • Los nombres de clases usan PascalCase
  • Los métodos y atributos usan snake_case
  • Cada ejercicio tiene su propio archivo con el formato ejercicio_XX.py

🤝 Contribuciones

¿Encontraste un error o quieres mejorar algún ejercicio? Abre un issue o una merge request. ¡Toda mejora es bienvenida!


💡 Consejo: no saltes directamente a las soluciones. El valor está en intentar resolver cada ejercicio por tu cuenta primero.

About

OOP and design patterns in Python — deep-dive companion to python-fundamentals.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages