
Aprender Python desde cero gratis: tu primer programa paso a paso
Respuesta rápida
Para aprender Python desde cero gratis necesitas tres cosas que no cuestan dinero: la última versión estable de Python 3 descargada de python.org, un editor gratuito para principiantes como Thonny, IDLE o VS Code, y un único recurso completo que seguir de principio a fin, como el tutorial oficial en español, Python para todos (Py4E) o el curso CS50P de Harvard. Escribe código desde el primer día, practica en sesiones cortas casi a diario y cierra cada bloque de teoría con un proyecto pequeño. El plazo depende de tus horas de práctica, no del curso.
Puedes aprender Python desde cero sin pagar nada. El intérprete es software libre, los editores más recomendables para principiantes son gratuitos y varios de los cursos de programación más usados del mundo —el tutorial oficial de Python, Python para todos de la Universidad de Míchigan o CS50P de la Universidad de Harvard— se pueden seguir sin tarjeta de crédito. El obstáculo real no es el dinero, es el orden: con cientos de tutoriales dispersos, lo difícil es saber qué instalar, qué aprender primero y cuándo pasar a lo siguiente.
Esta guía te da ese orden. Verás cómo instalar Python en Windows, macOS y Linux, qué editor elegir, los fundamentos con ejemplos de código que puedes copiar y ejecutar, una comparativa honesta de recursos gratuitos (con lo que es gratis de verdad y lo que es de pago en cada uno), un plan por semanas, proyectos para practicar y los errores que te vas a encontrar, con cómo leerlos.
Una advertencia antes de empezar: aquí no hay promesas de «programador en 30 días» ni cifras de sueldo. Aprender a programar lleva el tiempo que lleva, depende de cuántas horas practiques y de lo que ya sepas, y quien te garantiza un plazo o un salario concreto suele estar vendiéndote algo.
Qué significa aprender Python desde cero (y qué no)
Python es un lenguaje de programación de propósito general creado por Guido van Rossum, que publicó la primera versión en 1991. Hoy lo mantiene la comunidad bajo la Python Software Foundation y se distribuye con una licencia libre: puedes usarlo gratis para aprender, para trabajar y para proyectos comerciales. Se usa en automatización de tareas, análisis de datos, desarrollo web, inteligencia artificial, scripts de administración de sistemas, pruebas de software y enseñanza, y aparece de forma recurrente en lo alto de los rankings de popularidad de lenguajes, como el índice TIOBE o la encuesta anual de Stack Overflow (consulta la edición vigente si necesitas la posición exacta).
Por qué es buen primer lenguaje
- Sintaxis legible. Los bloques de código se definen con sangría, no con llaves, y muchas instrucciones se leen casi como frases en inglés.
- Sin compilación. Escribes, ejecutas y ves el resultado. El intérprete interactivo te deja probar una línea y ver qué pasa al instante.
- Tipado dinámico. No tienes que declarar el tipo de cada variable antes de usarla, lo que reduce la fricción del principio (aunque los tipos siguen existiendo y hay que entenderlos).
- «Baterías incluidas». La biblioteca estándar trae módulos para trabajar con ficheros, fechas, números aleatorios, CSV, JSON o internet sin instalar nada más.
- Comunidad enorme. Casi cualquier error que te salga ya lo ha tenido otra persona antes, y la respuesta suele estar a una búsqueda de distancia.
Qué necesitas de verdad para empezar
Un ordenador con Windows, macOS o Linux, conexión a internet para descargar Python y los materiales, y soltura básica con carpetas y ficheros. Un Chromebook también sirve si activas el entorno de desarrollo Linux o si trabajas con herramientas en el navegador. No necesitas saber matemáticas más allá de la aritmética para los fundamentos; la estadística y el álgebra solo aparecen si más adelante vas hacia ciencia de datos o aprendizaje automático. El inglés ayuda, porque la documentación más completa y la mayoría de mensajes de error están en inglés, pero hay recursos buenos en español para arrancar.
¿Python 2 o Python 3?
Python 3, siempre. Python 2 dejó de recibir soporte el 1 de enero de 2020. Si un tutorial escribe print "hola" sin paréntesis, está hecho para Python 2: descártalo, porque te enseñará sintaxis que ya no funciona.
Lo que aprender Python no es
No es memorizar comandos. Lo que de verdad aprendes es a descomponer un problema en pasos pequeños que un ordenador pueda ejecutar, y a leer los mensajes de error sin miedo. La sintaxis se consulta; el razonamiento se entrena. Por eso las personas que avanzan más rápido no son las que más vídeos ven, sino las que más código escriben, rompen y arreglan.
«Readability counts» (la legibilidad cuenta). Es uno de los principios del Zen de Python, recogido en el PEP 20. Escribe import this en el intérprete y verás la lista completa: resume bien la filosofía del lenguaje.
Instala Python 3 gratis en tu ordenador
La fuente oficial es python.org/downloads. Descarga siempre de ahí (o del gestor de paquetes de tu sistema), nunca de webs de descargas de terceros. Python publica una versión nueva cada octubre y cada una recibe unos cinco años de soporte en total. En septiembre de 2026 la rama estable más reciente es la 3.14, y la 3.15 está prevista para octubre de 2026. Para aprender, cualquier versión 3 con soporte vale: lo que vas a ver en esta guía funciona igual en todas las recientes.
| Sistema | Cómo instalarlo | Comando para comprobarlo | Detalle a vigilar |
|---|---|---|---|
| Windows 10/11 | Desde python.org (instalador o Python Install Manager) o desde Microsoft Store | py --version o python --version | Con el instalador clásico, marca «Add python.exe to PATH» |
| macOS | Instalador .pkg de python.org o Homebrew (brew install python) | python3 --version | Usa python3, no python |
| Linux (Ubuntu, Debian…) | Suele venir instalado; si no, sudo apt install python3 | python3 --version | Instala también python3-venv y python3-pip |
| Chromebook | Activa el entorno de desarrollo Linux y sigue los pasos de Linux | python3 --version | Si no puedes activarlo, usa herramientas en el navegador |
| Sin instalar nada | Google Colab, la consola de python.org/shell o PythonAnywhere | Ejecuta print("hola") | Sirve para practicar; para proyectos, mejor instalarlo |
Windows paso a paso
- Entra en python.org/downloads y descarga la versión que te proponga para Windows. Desde Python 3.14, python.org ofrece además el Python Install Manager, que instala y gestiona versiones con el comando
py; si la web te lo propone, es la vía que recomiendan los propios desarrolladores. - Si usas el instalador clásico, marca la casilla «Add python.exe to PATH» antes de pulsar «Install Now». Es el despiste más habitual: sin ella, la terminal no encuentra Python.
- Abre el símbolo del sistema o PowerShell y escribe
py --versionopython --version. Debe responder con el número de versión.
Un detalle que confunde a mucha gente: si escribes python en Windows sin tener Python instalado, el sistema abre la Microsoft Store en lugar de dar un error. Es un alias del propio Windows, no significa que algo esté roto.
macOS
Descarga el instalador .pkg de python.org, ejecútalo y comprueba en la Terminal con python3 --version. Si ya usas Homebrew, brew install python hace lo mismo. Es posible que macOS te ofrezca instalar las herramientas de línea de comandos de Xcode la primera vez que escribas python3: acepta si no has instalado Python por otra vía.
Linux
La mayoría de distribuciones traen python3 de serie. En Ubuntu o Debian, instala también los paquetes para entornos virtuales y pip: sudo apt install python3-venv python3-pip. En versiones recientes de estas distribuciones, instalar paquetes con pip fuera de un entorno virtual da el error externally-managed-environment. No es un fallo: es la forma que tiene el sistema de pedirte que uses un entorno virtual.
Entornos virtuales: cuándo y cómo
Las primeras semanas no los necesitas. Cuando empieces a instalar librerías externas, crea un entorno virtual por proyecto para que las dependencias no se mezclen:
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS y Linux
source .venv/bin/activate
pip install requests
En macOS y Linux sustituye python por python3 en la primera línea. Si PowerShell bloquea el script de activación por su política de ejecución, usa el símbolo del sistema (cmd) o consulta la documentación oficial del módulo venv.
Editores gratuitos para empezar: Thonny, IDLE, VS Code y más
El editor es el programa donde escribes el código. Todos los de esta tabla son gratuitos o tienen modalidad gratuita suficiente para aprender. Mi recomendación editorial: empieza con uno sencillo (Thonny o IDLE) y pasa a VS Code cuando tus programas ocupen varios ficheros.
| Editor | Coste | Para quién | Ventajas | Pegas |
|---|---|---|---|---|
| Thonny | Gratis y libre | Principiante absoluto | Trae Python incluido; depurador paso a paso que muestra el valor de cada variable | Se queda corto en proyectos grandes |
| IDLE | Viene con Python | Quien no quiere instalar nada más | Ya lo tienes al instalar Python; intérprete y editor en uno | Muy básico; en algunas distribuciones Linux va en un paquete aparte |
| VS Code + extensión Python | Gratis | A partir de la semana 3-4, o si ya programas algo | Depurador, autocompletado, terminal integrada, cuadernos Jupyter y git | Requiere algo de configuración; es fácil llenarlo de extensiones |
| PyCharm | Modalidad gratuita; funciones profesionales de pago | Proyectos medianos y grandes | Muy completo para Python, buena refactorización | Pesado para empezar; demasiadas opciones |
| Jupyter / Google Colab | Gratis (Colab con cuenta de Google) | Datos, ciencia y ejercicios sueltos | Ejecutas el código por celdas y ves resultados y gráficos al momento | Ejecutar celdas desordenadas genera errores confusos |
Dos avisos para no seguir guías desfasadas. Atom ya no existe como proyecto activo: GitHub lo retiró en diciembre de 2022, así que si un tutorial te lo recomienda, es antiguo. Y Sublime Text no es gratuito: permite una evaluación sin límite de tiempo, pero su licencia es de pago.
Cómo ejecutar tu código en cada caso
En Thonny e IDLE escribes el programa, lo guardas con extensión .py y pulsas el botón de ejecutar (o F5). En VS Code, abre la carpeta del proyecto, instala la extensión oficial de Python de Microsoft, elige el intérprete y pulsa el botón de reproducir, o ejecuta desde la terminal integrada con python mi_programa.py. Aprender a lanzar programas desde la terminal te va a hacer falta tarde o temprano, así que no lo retrases mucho.
Tu primer programa y los fundamentos, con código
Estos son los conceptos que cubre cualquier curso de iniciación, en el orden en que tiene sentido aprenderlos. Copia cada ejemplo, ejecútalo y luego cámbialo: modificar código que funciona es la forma más rápida de entenderlo.
Hola, mundo
Abre el intérprete (escribe python, py o python3 en la terminal) y verás el indicador >>>. Escribe:
>>> print("¡Hola, mundo!")
¡Hola, mundo!
Para salir del intérprete escribe exit(). Para un programa de verdad, guarda la línea en un fichero llamado hola.py y ejecútalo con python hola.py.
Variables y tipos de datos
Una variable es un nombre que apunta a un valor. Los tipos básicos son enteros (int), decimales (float), texto (str) y booleanos (bool):
nombre = "Ada"
edad = 36
altura = 1.68
es_estudiante = False
print(type(edad)) # <class 'int'>
print(type(altura)) # <class 'float'>
print(nombre, "tiene", edad, "años")
Lo que va detrás de # es un comentario: Python lo ignora. Úsalos para explicarte a ti mismo qué hace cada parte.
Pedir datos al usuario
input() siempre devuelve texto. Si necesitas un número, conviértelo:
edad = int(input("¿Cuántos años tienes? "))
print(f"El año que viene tendrás {edad + 1} años")
La f delante de las comillas crea una f-string: lo que pongas entre llaves se sustituye por su valor. Es la forma más cómoda de mezclar texto y variables.
Condicionales
nota = 7.5
if nota >= 9:
print("Sobresaliente")
elif nota >= 7:
print("Notable")
elif nota >= 5:
print("Aprobado")
else:
print("Suspenso")
Fíjate en los dos puntos al final de cada condición y en los cuatro espacios de sangría. En Python la sangría no es decorativa: define qué líneas pertenecen a cada bloque.
Bucles
for i in range(1, 6):
print(i) # imprime 1, 2, 3, 4 y 5 (el 6 no entra)
cuenta = 3
while cuenta > 0:
print(cuenta)
cuenta -= 1
print("¡Despegue!")
for recorre una secuencia conocida; while repite mientras se cumpla una condición. Si la condición de un while nunca deja de cumplirse, el programa no termina: detenlo con Ctrl+C.
Listas y diccionarios
compra = ["pan", "leche", "huevos"]
compra.append("tomates")
print(compra[0]) # pan (los índices empiezan en 0)
print(len(compra)) # 4
capitales = {"España": "Madrid", "Portugal": "Lisboa"}
capitales["Francia"] = "París"
for pais, capital in capitales.items():
print(f"{capital} es la capital de {pais}")
Las listas guardan elementos en orden y se acceden por posición; los diccionarios guardan pares clave-valor y se acceden por clave. Con estas dos estructuras resolverás la mayoría de ejercicios de iniciación.
Funciones
def area_rectangulo(base, altura):
"""Devuelve el área de un rectángulo."""
return base * altura
print(area_rectangulo(3, 4)) # 12
Una función agrupa unas líneas bajo un nombre para reutilizarlas. Cuando te sorprendas copiando y pegando el mismo bloque, es la señal de que toca convertirlo en función.
Módulos de la biblioteca estándar
import random
from datetime import date
print(random.randint(1, 10)) # un entero aleatorio entre 1 y 10, ambos incluidos
print(date.today()) # la fecha de hoy
Antes de instalar una librería externa, mira si la biblioteca estándar ya lo resuelve: csv, json, pathlib, datetime, random o statistics cubren muchísimo terreno.
Recursos gratuitos de verdad (y qué es gratis en cada uno)
«Gratis» significa cosas distintas según la plataforma: a veces todo es gratuito, a veces solo los vídeos y el certificado es de pago, a veces solo una parte del temario. Esta tabla resume lo que ofrece cada recurso según su propia web; las condiciones de acceso gratuito cambian, así que comprueba la página del curso antes de matricularte.
| Recurso | Idioma | Formato | Qué es gratis | Encaja si… |
|---|---|---|---|---|
| Tutorial oficial de Python (docs.python.org) | Español (traducción de la comunidad) e inglés | Texto | Todo | Te gusta leer y quieres la fuente de referencia |
| Python para todos / Py4E (Charles Severance, Universidad de Míchigan) | Inglés; libro y parte del material en español | Libro, vídeos y ejercicios con autocorrección | Todo en py4e.com; en Coursera el certificado es de pago | Empiezas de cero absoluto y quieres un curso universitario completo |
| CS50P, Harvard (David J. Malan) | Inglés, con subtítulos | Clases en vídeo y problemas prácticos | Curso completo y certificado propio de CS50; el certificado verificado de edX es de pago | Quieres exigencia y buenos ejercicios |
| MoureDev (Brais Moure) | Español | Vídeo en YouTube y repositorio de código | Todo | Prefieres vídeo en español para arrancar |
| Microsoft Learn | Español | Módulos cortos de texto con ejercicios | Todo | Quieres píldoras cortas y ordenadas |
| freeCodeCamp | Inglés (tiene canal en español en YouTube) | Ejercicios interactivos y proyectos | Todo, certificaciones incluidas | Aprendes haciendo proyectos guiados |
| Exercism (itinerario de Python) | Inglés | Ejercicios con tests automáticos | Todo, con mentoría voluntaria opcional | Ya sabes lo básico y quieres práctica con corrección |
| Automate the Boring Stuff with Python (Al Sweigart) | Inglés | Libro en línea | Lectura en línea gratuita | Quieres automatizar tareas de oficina |
| Think Python (Allen Downey) | Inglés | Libro en línea | Lectura en línea gratuita | Buscas un enfoque más conceptual |
| Codecademy | Inglés | Ejercicios interactivos en el navegador | Solo una parte en el plan gratuito; itinerarios completos y certificados, de pago | Quieres probar sin instalar nada |
| Coursera y edX en modo oyente | Varios | Cursos universitarios | Acceso a buena parte del material en muchos cursos; el certificado es de pago y las condiciones varían por curso | Quieres el temario de una universidad sin pagar el título |
Cómo elegir sin perderte
El error más común es empezar cinco cursos a la vez y no terminar ninguno. Elige un recurso principal y uno de práctica, y no cambies hasta acabar el principal salvo que de verdad no te funcione. Algunas combinaciones que tienen sentido:
- Quieres vídeo en español: el curso de MoureDev como principal y los ejercicios del tutorial oficial en español como consulta.
- Quieres estructura de curso universitario: Py4E si partes de cero absoluto; CS50P si te motivan los retos exigentes.
- Aprendes practicando: freeCodeCamp para el temario guiado y Exercism para afianzar con ejercicios corregidos.
- Quieres automatizar tu trabajo: los fundamentos con cualquiera de los anteriores y después Automate the Boring Stuff.
Si quieres comparar más opciones concretas, tienes una selección más amplia en nuestra guía de cursos de Python gratis y, si aún dudas entre lenguajes, en cómo aprender programación desde cero. Sobre el funcionamiento del acceso gratuito en Coursera, lo explicamos en Coursera gratis: qué incluye.
Las trampas del «gratis»
- Pruebas gratuitas con renovación automática. Si te piden tarjeta para una prueba, apunta la fecha y cancela antes si no vas a seguir.
- Curso gratis, certificado de pago. Es legítimo, pero decide antes si el certificado te aporta algo. Para buscar trabajo de programación, un portfolio con proyectos propios suele pesar más que una colección de certificados de cursos en línea.
- Certificaciones oficiales. La certificación de nivel inicial del Python Institute (PCEP) tiene un examen de pago; lo que es gratuito son sus cursos preparatorios (Python Essentials). Consulta el precio vigente en su web antes de planificar.
- Contenido antiguo. Vídeos que usan Python 2 o editores retirados. Mira la fecha de publicación y la versión de Python que aparece en pantalla.
En España también hay cursos de programación gratuitos dentro de la formación para el empleo, que publican el SEPE y los servicios de empleo de cada comunidad autónoma. La oferta y los requisitos cambian con cada convocatoria, así que consulta directamente la de tu comunidad.
Ruta de aprendizaje por semanas
Este plan supone unas cinco a siete horas de práctica a la semana, repartidas en sesiones cortas. Es orientativo: si tienes menos tiempo, estira cada fase; si una semana no se asienta, repítela antes de avanzar. Lo que marca el paso no es el calendario, sino poder resolver el ejercicio de la última columna sin mirar la solución.
| Semana | Qué aprender | Práctica mínima | Señal para avanzar |
|---|---|---|---|
| 1 | Instalación, intérprete, print, variables, tipos, operadores, input | Conversor de kilómetros a millas | Sabes ejecutar un .py y convertir texto en número |
| 2 | Booleanos, comparaciones, if / elif / else | Clasificador de notas y detector de años bisiestos | Escribes condiciones combinadas con and y or |
| 3 | Bucles for y while, range, break | Tabla de multiplicar y juego de adivinar un número | Sabes cuándo usar cada tipo de bucle |
| 4 | Listas, tuplas, cadenas y sus métodos, porciones (slicing) | Lista de la compra que añade y quita elementos | Recorres y modificas listas sin errores de índice |
| 5 | Diccionarios y conjuntos | Contador de palabras de un texto | Eliges entre lista y diccionario con criterio |
| 6 | Funciones, parámetros, return, ámbito de variables | Reescribir con funciones los ejercicios anteriores | Tus programas se leen como una lista de pasos con nombre |
| 7 | Ficheros con with open, módulo csv, excepciones try / except | Gestor de tareas que guarda en un CSV | Tu programa no se rompe si el usuario escribe algo raro |
| 8 | Módulos, pip, entornos virtuales y git básico | Subir tus proyectos a un repositorio en GitHub | Instalas una librería y la usas en un entorno virtual |
| 9-12 | Clases y objetos, leer documentación, pruebas sencillas | Un proyecto propio de principio a fin | Terminas algo que no venía en ningún tutorial |
El ejercicio del año bisiesto de la semana 2 es un buen test de condicionales: un año es bisiesto si es divisible entre 4, salvo que lo sea entre 100, a no ser que también lo sea entre 400.
anio = int(input("Escribe un año: "))
if (anio % 4 == 0 and anio % 100 != 0) or anio % 400 == 0:
print(f"{anio} es bisiesto")
else:
print(f"{anio} no es bisiesto")
Pruébalo con 2024 (bisiesto), 1900 (no lo es) y 2000 (sí lo es). Si los tres salen bien, has entendido el orden de evaluación de and y or.
Cómo organizar cada sesión
- Diez minutos de repaso de lo del día anterior, escribiendo de memoria un ejemplo pequeño.
- Un bloque de teoría corto: un capítulo o un vídeo, no tres.
- El doble de tiempo practicando que leyendo: escribe los ejemplos a mano en lugar de copiarlos.
- Cierra anotando qué te costó y qué error viste. Esa libreta de errores será tu mejor apunte.
Una regla práctica que funciona: por cada hora de vídeo o lectura, al menos una hora de escribir código tú solo. Si llevas una semana viendo tutoriales sin haber escrito un programa propio, estás en el llamado «infierno de los tutoriales»; la salida es cerrar el vídeo y construir algo pequeño.
Primeros proyectos para practicar
Los proyectos son donde los conceptos sueltos se convierten en habilidad. Empieza por los más sencillos y sube un escalón cada vez; mejor terminar un proyecto humilde que abandonar uno ambicioso.
- Conversor de unidades (semana 1-2): kilómetros a millas, grados Celsius a Fahrenheit (
f = c * 9 / 5 + 32). Practicas entrada, conversión de tipos y operadores. - Adivina el número (semana 3): el programa elige un número al azar y te va diciendo «más alto» o «más bajo». Bucles, condicionales y el módulo
random. - Piedra, papel o tijera contra el ordenador, con marcador. Listas, condicionales y funciones.
- Contador de palabras (semana 5): lee un texto y cuenta cuántas veces aparece cada palabra. Diccionarios y métodos de cadenas.
- Gestor de tareas en CSV (semana 7): añadir, listar, completar y borrar tareas que se guardan entre ejecuciones. Ficheros y excepciones.
- Organizador de descargas: mueve los ficheros de una carpeta a subcarpetas según su extensión, con
pathlib. Pruébalo siempre antes en una carpeta de copia. - Resumen de gastos: lee un CSV exportado de tu banco o de una hoja de cálculo y calcula el total por categoría.
- Consulta a una API pública: con la librería
requests, pide datos a un servicio abierto (el tiempo, por ejemplo) y muéstralos. Lee antes las condiciones de uso del servicio.
Ejemplo completo: adivina el número
import random
secreto = random.randint(1, 100)
intentos = 0
while True:
texto = input("Adivina el número (1-100): ")
if not texto.isdigit():
print("Escribe un número entero.")
continue
numero = int(texto)
intentos += 1
if numero < secreto:
print("Más alto")
elif numero > secreto:
print("Más bajo")
else:
print(f"¡Acertaste en {intentos} intentos!")
break
Cuando funcione, mejóralo: limita los intentos a siete, pregunta si quieres jugar otra vez o guarda el mejor resultado en un fichero. Cada mejora te obliga a usar algo nuevo.
Ejemplo: contador de palabras
texto = "el perro y el gato y el loro"
conteo = {}
for palabra in texto.split():
conteo[palabra] = conteo.get(palabra, 0) + 1
print(conteo)
# {'el': 3, 'perro': 1, 'y': 2, 'gato': 1, 'loro': 1}
Cuando lo entiendas, descubre que la biblioteca estándar ya trae collections.Counter, que hace lo mismo en una línea. Primero aprender a hacerlo a mano y luego usar la herramienta es el orden correcto.
Publica lo que haces
Sube cada proyecto terminado a un repositorio de GitHub con un README que explique qué hace y cómo se ejecuta. Aprenderás git, que usa casi cualquier equipo de desarrollo, y tendrás algo que enseñar. Si te interesa presentar ese trabajo, lo desarrollamos en cómo hacer un portfolio digital profesional.
Errores típicos del principiante y cómo leerlos
Los errores no son un síntoma de que lo estés haciendo mal: son la forma en que Python te dice exactamente qué ha pasado. El truco es leer el mensaje (llamado traceback) de abajo arriba: la última línea dice el tipo de error y su descripción; las de encima, en qué fichero y en qué línea ocurrió. Las versiones recientes de Python dan mensajes mucho más claros que las antiguas, incluso con sugerencias del tipo Did you mean…?
| Error | Qué significa | Causa típica | Cómo arreglarlo |
|---|---|---|---|
SyntaxError: expected ':' | Python no entiende la estructura de la línea | Falta el : tras if, for o def, o unas comillas sin cerrar | Revisa la línea indicada y la anterior |
IndentationError | La sangría no cuadra | Mezclar tabuladores y espacios, o un bloque sin sangrar | Usa siempre cuatro espacios; el editor puede hacerlo por ti |
NameError: name 'x' is not defined | Usas un nombre que no existe | Errata (pritn) o variable usada antes de crearla | Comprueba la ortografía y el orden de las líneas |
TypeError: can only concatenate str (not "int") to str | Mezclas tipos incompatibles | Sumar texto y número: "Edad: " + 30 | Usa una f-string o str(30) |
ValueError: invalid literal for int() with base 10 | El valor no se puede convertir | int("hola") tras un input | Valida la entrada o usa try / except |
IndexError: list index out of range | Pides una posición que no existe | Olvidar que los índices empiezan en 0 | El último elemento es lista[-1] o lista[len(lista) - 1] |
KeyError | La clave no está en el diccionario | Errata o clave aún no creada | Usa dic.get(clave) o comprueba con in |
ModuleNotFoundError: No module named 'requests' | La librería no está instalada donde se ejecuta el código | Instalarla en otro Python o fuera del entorno virtual | Activa el entorno y ejecuta python -m pip install requests |
Errores que no dan mensaje
Los más traicioneros son los errores de lógica: el programa funciona, pero hace otra cosa. Los tres clásicos son confundir = (asignar) con == (comparar), olvidar que range(1, 10) no incluye el 10 y comparar el texto que devuelve input() con un número, que nunca será igual. Para cazarlos, imprime valores intermedios con print() o usa el depurador de Thonny o VS Code para avanzar línea a línea viendo cada variable.
Errores de método (los que más frenan)
- Consumir sin producir. Ver cursos enteros sin escribir código propio da sensación de avance, pero no la habilidad.
- Saltar a frameworks demasiado pronto. Django o las librerías de inteligencia artificial son mucho más fáciles cuando dominas funciones, diccionarios y ficheros.
- Copiar código de un asistente de IA sin entenderlo. Usa estas herramientas para que te expliquen un error o un concepto, no para que resuelvan tus ejercicios: el ejercicio es el entrenamiento.
- Estudiar a atracones. Media hora diaria suele rendir más que cinco horas un sábado al mes.
- Compararte con otros. Cada persona parte de un sitio distinto; compárate con tu código de hace un mes.
Dónde pedir ayuda
Antes de preguntar, copia la última línea del error en el buscador: casi siempre hay una respuesta en Stack Overflow. Si no, hay comunidades donde se contesta a principiantes, como el subforo r/learnpython de Reddit, el servidor de Discord de Python Discord o la comunidad de Python España, que organiza la conferencia PyConES. Al preguntar, incluye el código mínimo que reproduce el problema, el mensaje de error completo y lo que ya has probado: te contestarán antes y mejor.
Cuando te atasques más de treinta minutos con el mismo error, cambia de estrategia: explica el problema en voz alta línea a línea, reduce el programa al mínimo que falla o levántate y vuelve en diez minutos. Es sorprendente cuántos errores se resuelven al intentar explicarlos.
Después de los fundamentos: hacia dónde seguir
Cuando domines lo que cubre la ruta anterior, Python se ramifica. No hace falta decidir el camino el primer día, pero sí conviene saber qué hay en cada rama para elegir proyectos que te acerquen a ella.
| Área | Qué se hace | Librerías habituales | Siguiente recurso gratuito |
|---|---|---|---|
| Automatización | Scripts que ordenan ficheros, rellenan hojas de cálculo o descargan datos | pathlib, openpyxl, requests | Automate the Boring Stuff with Python |
| Análisis de datos | Limpiar, resumir y visualizar datos | pandas, NumPy, Matplotlib | Microcursos gratuitos de Kaggle Learn |
| Desarrollo web | La parte del servidor de páginas y aplicaciones | Django, Flask, FastAPI | Tutorial de Django Girls (tiene versión en español) |
| Aprendizaje automático | Modelos que aprenden de datos | scikit-learn, PyTorch | Introducción al machine learning de Kaggle Learn |
| Pruebas y calidad | Tests automáticos que comprueban que el código hace lo que debe | unittest, pytest | Documentación oficial de unittest y de pytest |
Si te interesa el camino de los datos, fíjate en que la estadística básica empieza a importar; para web, necesitarás algo de HTML, CSS y bases de datos; para automatización, basta con lo que ya sabes más la librería concreta de cada tarea.
¿Y el trabajo?
Python aparece en ofertas de análisis de datos, desarrollo backend, automatización, pruebas de software e investigación, a menudo junto con otras herramientas (SQL, git, la nube). Lo que no podemos darte es una cifra de salario o un plazo para encontrar empleo: dependen del perfil, la zona, el sector y el nivel, y cualquier número genérico sería engañoso. Si ese es tu objetivo, consulta ofertas reales en portales de empleo para ver qué piden en tu zona, y prioriza proyectos que demuestren esas habilidades. Para comparar la vía autodidacta con opciones de pago más intensivas, tienes nuestra guía sobre cursos de Python desde cero.
Preguntas frecuentes
¿De verdad se puede aprender Python desde cero gratis?
Sí. Python es software libre, los editores recomendados para empezar son gratuitos y hay cursos completos sin coste, como el tutorial oficial, Py4E o CS50P. Lo que suele ser de pago es el certificado, no el aprendizaje.
¿Cuánto tiempo se tarda en aprender Python desde cero?
No hay un plazo fijo: depende de tus horas de práctica y de tu experiencia previa. Con práctica regular de unas pocas horas semanales, los fundamentos se asientan en cuestión de semanas o pocos meses; llegar a hacer proyectos propios con soltura lleva más. Desconfía de cualquier promesa de plazo cerrado.
¿Necesito saber matemáticas o inglés para aprender Python?
Para los fundamentos basta con aritmética básica. Las matemáticas pesan más si luego vas hacia ciencia de datos o aprendizaje automático. El inglés ayuda porque la documentación y los mensajes de error están en inglés, pero puedes empezar con recursos en español como el tutorial oficial traducido, Microsoft Learn o MoureDev.
¿Qué versión de Python debo instalar en 2026?
La última versión estable de Python 3 que ofrezca python.org para tu sistema; en septiembre de 2026 es la rama 3.14. Nunca instales Python 2, que dejó de tener soporte el 1 de enero de 2020.
¿Cuál es el mejor editor gratis para empezar con Python?
Para las primeras semanas, Thonny o IDLE, porque son sencillos y Thonny muestra el valor de cada variable paso a paso. Cuando trabajes con varios ficheros, VS Code con la extensión oficial de Python es la opción gratuita más completa.
¿Puedo aprender Python desde el móvil o sin instalar nada?
Para practicar, sí: Google Colab, la consola de python.org o PythonAnywhere funcionan en el navegador. Para hacer proyectos, trabajar con ficheros y aprender a usar la terminal, necesitarás un ordenador con Python instalado.
¿Qué curso gratis de Python es mejor para principiantes?
Depende de cómo aprendas. Si partes de cero absoluto y quieres estructura, Py4E; si quieres exigencia, CS50P; si prefieres vídeo en español, MoureDev; si te gusta leer, el tutorial oficial. Elige uno como principal y termínalo antes de cambiar.
¿Los cursos gratuitos de Python dan certificado?
Algunos sí: freeCodeCamp emite certificaciones gratuitas y CS50 da su propio certificado sin coste al completar el curso. En Coursera y edX el certificado suele ser de pago aunque el material se pueda seguir gratis, y el examen PCEP del Python Institute también es de pago.
¿Aprender Python sirve para encontrar trabajo?
Python aparece en muchas ofertas de datos, backend, automatización y pruebas, pero aprender el lenguaje no garantiza un empleo por sí solo. Suele contar más un portfolio con proyectos propios, junto con git y SQL, que la cantidad de cursos completados.
¿Es mejor empezar con Python o con JavaScript?
Si tu objetivo es hacer páginas web interactivas en el navegador, JavaScript es inevitable. Para casi todo lo demás (automatización, datos, scripts, aprender lógica de programación), Python es un primer lenguaje más cómodo por su sintaxis.
¿Qué hago cuando me bloqueo con un error?
Lee el mensaje de abajo arriba, busca la última línea en internet y reduce el programa al mínimo que falla. Si sigues atascado, pregunta en Stack Overflow, r/learnpython o Python Discord con el código, el error completo y lo que ya has probado.
¿Puedo usar un asistente de inteligencia artificial para aprender Python?
Sí, como tutor: para que te explique un concepto o un error. No lo uses para resolver tus ejercicios, porque te quita justo la práctica que te hace aprender, y revisa siempre lo que te propone: puede equivocarse.
Conclusión. Aprender Python desde cero y gratis es posible y está al alcance de cualquiera con constancia. Instala Python 3 desde python.org, elige un editor sencillo, sigue un solo recurso completo y escribe código todos los días que puedas, aunque sean veinte minutos. Los primeros errores son parte del proceso: léelos, arréglalos y apunta lo que aprendiste. Empieza hoy con tu primer print("¡Hola, mundo!").
Puedes ver los resultados de la búsqueda «aprender python desde cero gratis» en Amazon para comparar precios y opiniones reales.
Escrito por Equipo Aprende. Edición: Iván Escudero.
Publicado el 2026-04-23 y actualizado el 2026-09-11. Los datos de cada recurso proceden de su web oficial; no hemos hecho pruebas propias de los cursos y las condiciones de acceso gratuito pueden cambiar.