Saltar al contenido principal
Aprende
Educación

Aprender Python desde cero gratis: tu primer programa paso a paso

Equipo Aprende Actualizado el 2026-09-11 22 min de lectura

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.

SistemaCómo instalarloComando para comprobarloDetalle a vigilar
Windows 10/11Desde python.org (instalador o Python Install Manager) o desde Microsoft Storepy --version o python --versionCon el instalador clásico, marca «Add python.exe to PATH»
macOSInstalador .pkg de python.org o Homebrew (brew install python)python3 --versionUsa python3, no python
Linux (Ubuntu, Debian…)Suele venir instalado; si no, sudo apt install python3python3 --versionInstala también python3-venv y python3-pip
ChromebookActiva el entorno de desarrollo Linux y sigue los pasos de Linuxpython3 --versionSi no puedes activarlo, usa herramientas en el navegador
Sin instalar nadaGoogle Colab, la consola de python.org/shell o PythonAnywhereEjecuta print("hola")Sirve para practicar; para proyectos, mejor instalarlo

Windows paso a paso

  1. 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.
  2. 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.
  3. Abre el símbolo del sistema o PowerShell y escribe py --version o python --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.

EditorCostePara quiénVentajasPegas
ThonnyGratis y librePrincipiante absolutoTrae Python incluido; depurador paso a paso que muestra el valor de cada variableSe queda corto en proyectos grandes
IDLEViene con PythonQuien no quiere instalar nada másYa lo tienes al instalar Python; intérprete y editor en unoMuy básico; en algunas distribuciones Linux va en un paquete aparte
VS Code + extensión PythonGratisA partir de la semana 3-4, o si ya programas algoDepurador, autocompletado, terminal integrada, cuadernos Jupyter y gitRequiere algo de configuración; es fácil llenarlo de extensiones
PyCharmModalidad gratuita; funciones profesionales de pagoProyectos medianos y grandesMuy completo para Python, buena refactorizaciónPesado para empezar; demasiadas opciones
Jupyter / Google ColabGratis (Colab con cuenta de Google)Datos, ciencia y ejercicios sueltosEjecutas el código por celdas y ves resultados y gráficos al momentoEjecutar 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.

RecursoIdiomaFormatoQué es gratisEncaja si…
Tutorial oficial de Python (docs.python.org)Español (traducción de la comunidad) e inglésTextoTodoTe 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ñolLibro, vídeos y ejercicios con autocorrecciónTodo en py4e.com; en Coursera el certificado es de pagoEmpiezas de cero absoluto y quieres un curso universitario completo
CS50P, Harvard (David J. Malan)Inglés, con subtítulosClases en vídeo y problemas prácticosCurso completo y certificado propio de CS50; el certificado verificado de edX es de pagoQuieres exigencia y buenos ejercicios
MoureDev (Brais Moure)EspañolVídeo en YouTube y repositorio de códigoTodoPrefieres vídeo en español para arrancar
Microsoft LearnEspañolMódulos cortos de texto con ejerciciosTodoQuieres píldoras cortas y ordenadas
freeCodeCampInglés (tiene canal en español en YouTube)Ejercicios interactivos y proyectosTodo, certificaciones incluidasAprendes haciendo proyectos guiados
Exercism (itinerario de Python)InglésEjercicios con tests automáticosTodo, con mentoría voluntaria opcionalYa sabes lo básico y quieres práctica con corrección
Automate the Boring Stuff with Python (Al Sweigart)InglésLibro en líneaLectura en línea gratuitaQuieres automatizar tareas de oficina
Think Python (Allen Downey)InglésLibro en líneaLectura en línea gratuitaBuscas un enfoque más conceptual
CodecademyInglésEjercicios interactivos en el navegadorSolo una parte en el plan gratuito; itinerarios completos y certificados, de pagoQuieres probar sin instalar nada
Coursera y edX en modo oyenteVariosCursos universitariosAcceso a buena parte del material en muchos cursos; el certificado es de pago y las condiciones varían por cursoQuieres 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.

SemanaQué aprenderPráctica mínimaSeñal para avanzar
1Instalación, intérprete, print, variables, tipos, operadores, inputConversor de kilómetros a millasSabes ejecutar un .py y convertir texto en número
2Booleanos, comparaciones, if / elif / elseClasificador de notas y detector de años bisiestosEscribes condiciones combinadas con and y or
3Bucles for y while, range, breakTabla de multiplicar y juego de adivinar un númeroSabes cuándo usar cada tipo de bucle
4Listas, tuplas, cadenas y sus métodos, porciones (slicing)Lista de la compra que añade y quita elementosRecorres y modificas listas sin errores de índice
5Diccionarios y conjuntosContador de palabras de un textoEliges entre lista y diccionario con criterio
6Funciones, parámetros, return, ámbito de variablesReescribir con funciones los ejercicios anterioresTus programas se leen como una lista de pasos con nombre
7Ficheros con with open, módulo csv, excepciones try / exceptGestor de tareas que guarda en un CSVTu programa no se rompe si el usuario escribe algo raro
8Módulos, pip, entornos virtuales y git básicoSubir tus proyectos a un repositorio en GitHubInstalas una librería y la usas en un entorno virtual
9-12Clases y objetos, leer documentación, pruebas sencillasUn proyecto propio de principio a finTerminas 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

  1. Diez minutos de repaso de lo del día anterior, escribiendo de memoria un ejemplo pequeño.
  2. Un bloque de teoría corto: un capítulo o un vídeo, no tres.
  3. El doble de tiempo practicando que leyendo: escribe los ejemplos a mano en lugar de copiarlos.
  4. 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.

  1. 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.
  2. 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.
  3. Piedra, papel o tijera contra el ordenador, con marcador. Listas, condicionales y funciones.
  4. Contador de palabras (semana 5): lee un texto y cuenta cuántas veces aparece cada palabra. Diccionarios y métodos de cadenas.
  5. Gestor de tareas en CSV (semana 7): añadir, listar, completar y borrar tareas que se guardan entre ejecuciones. Ficheros y excepciones.
  6. 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.
  7. Resumen de gastos: lee un CSV exportado de tu banco o de una hoja de cálculo y calcula el total por categoría.
  8. 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…?

ErrorQué significaCausa típicaCómo arreglarlo
SyntaxError: expected ':'Python no entiende la estructura de la líneaFalta el : tras if, for o def, o unas comillas sin cerrarRevisa la línea indicada y la anterior
IndentationErrorLa sangría no cuadraMezclar tabuladores y espacios, o un bloque sin sangrarUsa siempre cuatro espacios; el editor puede hacerlo por ti
NameError: name 'x' is not definedUsas un nombre que no existeErrata (pritn) o variable usada antes de crearlaComprueba la ortografía y el orden de las líneas
TypeError: can only concatenate str (not "int") to strMezclas tipos incompatiblesSumar texto y número: "Edad: " + 30Usa una f-string o str(30)
ValueError: invalid literal for int() with base 10El valor no se puede convertirint("hola") tras un inputValida la entrada o usa try / except
IndexError: list index out of rangePides una posición que no existeOlvidar que los índices empiezan en 0El último elemento es lista[-1] o lista[len(lista) - 1]
KeyErrorLa clave no está en el diccionarioErrata o clave aún no creadaUsa dic.get(clave) o comprueba con in
ModuleNotFoundError: No module named 'requests'La librería no está instalada donde se ejecuta el códigoInstalarla en otro Python o fuera del entorno virtualActiva 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.

ÁreaQué se haceLibrerías habitualesSiguiente recurso gratuito
AutomatizaciónScripts que ordenan ficheros, rellenan hojas de cálculo o descargan datospathlib, openpyxl, requestsAutomate the Boring Stuff with Python
Análisis de datosLimpiar, resumir y visualizar datospandas, NumPy, MatplotlibMicrocursos gratuitos de Kaggle Learn
Desarrollo webLa parte del servidor de páginas y aplicacionesDjango, Flask, FastAPITutorial de Django Girls (tiene versión en español)
Aprendizaje automáticoModelos que aprenden de datosscikit-learn, PyTorchIntroducción al machine learning de Kaggle Learn
Pruebas y calidadTests automáticos que comprueban que el código hace lo que debeunittest, pytestDocumentació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.