blog/[Python]/guia-completa-python-desde-cero-2026
Código Python en un editor con consola
[Python]2 min de lectura

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

27 de julio de 20262 vistas

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
python
# hola.py
print("Hola, Programemos")

Instala Python 3.11+, verifica con python --version y ejecuta: python hola.py.


//2. Variables, tipos y f-strings

python
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.

python
nombre = input("¿Cómo te llamas? ").strip()
print(f"Bienvenido/a, {nombre}")

//3. Condicionales

python
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

python
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

python
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

python
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

python
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

python
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

bash
python -m venv .venv
# Windows: .venv\Scripts\activate
pip install requests
python
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)

python
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

  1. Mezclar tabs/spaces
  2. Mutar listas mientras iteras
  3. Instalar paquetes fuera del venv
  4. Ignorar encoding
  5. Scripts enormes sin funciones

//12. Proyecto 1: CLI de tareas

Guarda tareas en todos.json: agregar, listar, completar.

python
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

SemanaFocoEntregable
1Sintaxis y bucles20 ejercicios
2Funciones + dictsCLI simple
3Archivos + APIScript con requests
4Proyecto + READMERepo 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.