Guía completa de Python desde cero (2026)
Aprende Python de verdad: sintaxis, estructuras, funciones, archivos, APIs, errores comunes, proyectos prácticos y un plan de 4 semanas.
camilogaon
@camilogaon
Guía completa de Python desde cero (2026)
Python es uno de los lenguajes más amigables para empezar y de los más usados en el mundo real: web, datos, automatización e IA. Esta guía te lleva desde cero hasta un nivel sólido.
Lectura: 35–45 min · Principiante → intermedio
Objetivo: escribir Python limpio y construir utilidades reales
//1. Por qué Python
- Sintaxis clara
- Ecosistema enorme (PyPI)
- Multipropósito: web, datos, IA, scripting
- Ideal para aprender lógica sin pelearte tanto con la sintaxis
# hola.py
print("Hola, Programemos")
Instala Python 3.11+, verifica con python --version y ejecuta: python hola.py.
//2. Variables, tipos y f-strings
nombre = "Ana"
edad = 20
activo = True
print(f"{nombre} tiene {edad} años")
print(type(edad))
Tipos clave: int, float, str, bool, None, list, dict, tuple, set.
nombre = input("¿Cómo te llamas? ").strip()
print(f"Bienvenido/a, {nombre}")
//3. Condicionales
nota = 85
if nota >= 90:
print("Excelente")
elif nota >= 70:
print("Aprobado")
else:
print("A practicar")
La indentación (4 espacios) define bloques. No uses tabs mezclados.
//4. Bucles
techs = ["python", "js", "sql"]
for i, tech in enumerate(techs, start=1):
print(i, tech.upper())
for i in range(1, 6):
print(i)
//5. Colecciones
nums = [1, 2, 3]
nums.append(4)
cuadrados = [n * n for n in nums if n % 2 == 0]
user = {"name": "Luis", "level": 3}
print(user.get("email", "sin-email"))
tags = {"python", "backend", "python"} # únicos
punto = (10, 20)
x, y = punto
//6. Funciones
def saludar(nombre: str = "mundo") -> str:
return f"Hola, {nombre}"
def promedio(*nums: float) -> float:
return sum(nums) / len(nums)
Usa snake_case, funciones cortas y type hints desde temprano.
//7. Errores
def dividir(a: float, b: float) -> float:
try:
return a / b
except ZeroDivisionError:
print("No se puede dividir entre 0")
return float("nan")
//8. Archivos y JSON
from pathlib import Path
import json
Path("notas.txt").write_text("hola\n", encoding="utf-8")
data = {"course": "Python", "lessons": 12}
Path("data.json").write_text(
json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8"
)
//9. venv + pip + requests
python -m venv .venv
# Windows: .venv\Scripts\activate
pip install requests
import requests
def fetch_posts(limit: int = 5) -> list[dict]:
res = requests.get(
"https://jsonplaceholder.typicode.com/posts",
params={"_limit": limit},
timeout=10,
)
res.raise_for_status()
return res.json()
//10. Clases (cuando hacen falta)
class Course:
def __init__(self, title: str, lessons: int):
self.title = title
self.lessons = lessons
def summary(self) -> str:
return f"{self.title} ({self.lessons} lecciones)"
//11. Errores comunes
- Mezclar tabs/spaces
- Mutar listas mientras iteras
- Instalar paquetes fuera del venv
- Ignorar encoding
- Scripts enormes sin funciones
//12. Proyecto 1: CLI de tareas
Guarda tareas en todos.json: agregar, listar, completar.
import json
from pathlib import Path
DB = Path("todos.json")
def load() -> list[dict]:
return json.loads(DB.read_text(encoding="utf-8")) if DB.exists() else []
def save(items: list[dict]) -> None:
DB.write_text(json.dumps(items, ensure_ascii=False, indent=2), encoding="utf-8")
//13. Proyecto 2: analizador de texto
Cuenta líneas, palabras y top 10 frecuencias de un .txt.
//14. Plan de 4 semanas
| Semana | Foco | Entregable |
|---|---|---|
| 1 | Sintaxis y bucles | 20 ejercicios |
| 2 | Funciones + dicts | CLI simple |
| 3 | Archivos + API | Script con requests |
| 4 | Proyecto + README | Repo en GitHub |
//15. 20 ejercicios
Par/impar, máximo, vocales, palíndromo, FizzBuzz, factorial, Fibonacci, frecuencia, merge de dicts, validador de password, temperatura, mediana, aplanar listas, CSV simple, contador de archivo, reintentos HTTP, slugify, agenda CRUD, eliminar duplicados, invertir string.
//16. Qué sigue
FastAPI o Django, SQL, pytest, tipado con mypy, y luego datos o backend según tu meta.
//Conclusión
Domina tipos, funciones, colecciones, archivos y requests. Con eso ya construyes herramientas útiles. Termina el CLI, súbelo a GitHub y elige el siguiente camino (web o data).
FAQ
¿Python es bueno para principiantes?
Sí. Su sintaxis clara permite enfocarte en la lógica y tiene usos reales en web, datos, automatización e IA.
¿Python 2 o Python 3?
Solo Python 3. Python 2 está discontinuado y no deberías usarlo en proyectos nuevos.
¿Cuánto tarda aprender Python desde cero?
Con 45–90 minutos diarios puedes manejar lo esencial en 4–8 semanas si practicas con proyectos.
¿Qué framework web aprender después?
FastAPI para APIs modernas; Django si quieres un framework con baterías incluidas.
¿Necesito matemáticas avanzadas?
No para empezar. Con aritmética básica basta; más adelante ayudan en algoritmos o data.