Python Desde Cero 🐍
Bienvenido a Python Desde Cero, un curso pensado para aprender programación desde las bases hasta Programación Orientada a Objetos (POO) y conceptos utilizados en proyectos reales.
Este repositorio está diseñado especialmente para personas que:
- nunca programaron
- recién empiezan
- quieren aprender lógica
- quieren practicar ejercicios reales
- buscan construir una base sólida en programación
No importa si empezás desde cero absoluto.
La idea de este curso es avanzar paso a paso, entendiendo realmente cómo funciona la programación.
🎯 Objetivo del curso
El objetivo principal es que puedas:
✅ aprender lógica de programación
✅ resolver problemas usando código
✅ entender programación secuencial
✅ dominar Python desde cero
✅ aprender Programación Orientada a Objetos
✅ crear proyectos reales
✅ practicar con ejercicios y desafíos
✅ desarrollar pensamiento computacional
🧠 ¿Qué vamos a aprender?
El curso está dividido en módulos progresivos.
Primero veremos programación secuencial, que es la base de toda la programación.
Luego avanzaremos hacia Programación Orientada a Objetos (POO) y finalmente veremos herramientas y conceptos utilizados en proyectos reales y entornos profesionales.
📚 Contenido del curso
🧩 ETAPA 1 — Programación Secuencial
M01 — Introducción a la programación
- ¿Qué es programar?
- Algoritmos
- Pensamiento lógico
- Entrada → proceso → salida
- Programación secuencial
M02 — Variables y tipos de datos
- Variables
- int
- float
- str
- bool
- Constantes por convención
M03 — Operadores
- Matemáticos
- Relacionales
- Lógicos
M04 — Condicionales
M05 — Bucles
- while
- for
- range
- break
- continue
M06 — Funciones
M07 — Strings
- Métodos
- Slicing
- Formateo
- f-strings
M08 — Listas
- append
- remove
- insert
- recorrer listas
M09 — Tuplas y sets
- tuple
- set
- diferencias entre listas y tuplas
- conjuntos únicos
M10 — Diccionarios
- key / value
- métodos
- recorrer diccionarios
M11 — Manejo de errores
M12 — Archivos
- Lectura
- Escritura
- TXT
- CSV
M13 — Modularización
M14 — Ejercicios integradores
- Calculadora
- Agenda
- Sistema de alumnos
🚀 ETAPA 2 — Programación Orientada a Objetos
M15 — Introducción a POO
- ¿Qué es POO?
- Objetos del mundo real
- Clase vs objeto
- ¿Por qué existe POO?
M16 — Clases y objetos
- class
- Crear objetos
- Instancias
- type()
M17 — Atributos
- Atributos de instancia
- self
- Acceso a atributos
M18 — Métodos
- Métodos
- self
- Comportamientos de los objetos
M19 — Constructores
- init
- Inicialización de objetos
- Parámetros en constructores
M20 — Encapsulamiento
- Público
- Protegido (_)
- Privado (__)
M21 — Herencia
- Clase padre
- Clase hija
- Reutilización de código
M22 — Polimorfismo
- Mismo método
- Diferentes comportamientos
M23 — Abstracción
- Clases abstractas
- ABC
- Métodos abstractos
M24 — Métodos especiales
M25 — Métodos estáticos y de clase
- @staticmethod
- @classmethod
M26 — Composición y agregación
- ES UN (Herencia)
- Tiene un (Composición)
- Usa un (Agregación)
M27 — Dataclasses y Duck Typing
- @dataclass
- Constructor automático
- Duck Typing
M28 — Proyecto final POO
- Sistema de Biblioteca
- Sistema Bancario
- Sistema de Gestión de Alumnos
💻 ¿Cómo está organizado el repositorio?
Python-Desde-Cero/
├── README.md
├── LICENSE
├── .gitignore
├── ETAPA_0_preparacion_del_entorno/
│
│ ├── imagenes/
│ │
│ ├── M00_preparacion_del_entorno/
│ │
│ │ ├── 00_README.md
│ │ ├── 01_instalar_python.md
│ │ ├── 02_instalar_vscode.md
│ │ ├── 03_instalar_git.md
│ │ ├── 04_crear_cuenta_github.md
│ │ ├── 05_extensiones_vscode.md
│ │ ├── 06_settings_json.md
│ │ ├── 07_git_basico.md
│ │ ├── 08_primer_programa.md
│ │ └── 09_clonar_repositorio.md
├── ETAPA_1_programacion_secuencial/
│
│ ├── M01_intro_programacion/
│ ├── M02_variables_y_tipos/
│ ├── M03_operadores/
│ ├── M04_condicionales/
│ ├── M05_bucles/
│ ├── M06_funciones/
│ ├── M07_strings/
│ ├── M08_listas/
│ ├── M09_tuplas_y_sets/
│ ├── M10_diccionarios/
│ ├── M11_manejo_errores/
│ ├── M12_archivos/
│ ├── M13_modularizacion/
│ └── M14_integrador/
├── ETAPA_2_programacion_orientada_a_objetos/
│
│ ├── M15_intro_poo/
│ ├── M16_clases_y_objetos/
│ ├── M17_atributos/
│ ├── M18_metodos/
│ ├── M19_constructores/
│ ├── M20_encapsulamiento/
│ ├── M21_herencia/
│ ├── M22_polimorfismo/
│ ├── M23_abstraccion/
│ ├── M24_metodos_especiales/
│ ├── M25_metodos_estaticos_y_de_clase/
│ ├── M26_composicion/
│ ├── M27_dataclasses_y_duck_typing/
│ └── M28_proyecto_final_poo/
├── ejercicios/
├── proyectos/
└── recursos/
🧪 Ejercicios y práctica
Cada módulo incluye:
- teoría
- ejemplos
- ejercicios
- desafíos
- soluciones
- tests automáticos
Ejemplo de resultado:
✅ Ejercicio 1 correcto
✅ Ejercicio 2 correcto
❌ Ejercicio 3 incorrecto
🎯 Resultado final: 2/3
La práctica es una parte fundamental del curso.
✍ ¿Dónde tengo que escribir el código?
Todos los ejercicios se resuelven dentro del archivo:
practica.py
Cada ejercicio ya tiene una función creada.
Ejemplo:
def ejercicio_1():
pass
La palabra:
pass
significa que la función todavía está vacía.
Tu trabajo será:
- borrar
pass
- escribir tu solución debajo
- usar
return
- guardar el archivo
✅ Ejemplo
Si el ejercicio pide retornar:
Hola mundo
deberías escribir:
def ejercicio_1():
return "Hola mundo"
🚀 ¿Cómo pruebo si está bien?
- Guardar el archivo
practica.py
- Abrir la terminal
- Ejecutar:
python test.py
📌 Resultado esperado
🧪 Corrigiendo ejercicios...
✅ Ejercicio 1 correcto
❌ Ejercicio 2 incorrecto
🎯 Resultado final: 1/10
⚠ Importante
- No borrar los nombres de las funciones
- No cambiar el nombre del archivo
- Solo modificar el código dentro de cada función
- Recordar guardar el archivo antes de ejecutar el test
📺 Videos y contenido adicional
Próximamente este repositorio estará acompañado por:
- videos explicativos
- resolución de ejercicios
- desafíos
- proyectos reales
- contenido paso a paso
🛠 Tecnologías utilizadas
- Python 3
- Visual Studio Code
- Git
- GitHub
👨💻 Autor
Enzo Eduardo Bruno
GitHub:
https://github.com/enzoeduardobruno
YouTube:
https://www.youtube.com/@enzoeduardobruno
LinkedIn:
https://www.linkedin.com/in/enzoeduardobruno
⭐ Apoyá el proyecto
Si este repositorio te ayuda a aprender, podés dejar una estrella ⭐ para apoyar el contenido y futuras actualizaciones.