Respuesta rápida: usa Python básico cuando tengas una tarea repetitiva con ficheros, hojas de cálculo, textos o datos que siga siempre los mismos pasos y te robe tiempo cada semana: renombrar y ordenar documentos, unir o limpiar CSV y Excel, generar un informe, consultar una API o dar tus primeros pasos en análisis de datos e inteligencia artificial. No es la mejor opción para apps móviles nativas, la parte visual de una web, videojuegos exigentes, microcontroladores con poca memoria o tareas que ya resuelve una fórmula de Excel en dos minutos.
«Python básico» no es un título ni un certificado. Es el conjunto de piezas con las que ya puedes hacer cosas útiles: variables, tipos de datos, listas y diccionarios, condiciones, bucles, funciones, lectura y escritura de ficheros y la instalación de librerías con pip. Con eso, y sin tocar clases avanzadas ni programación asíncrona, se resuelve una parte enorme del trabajo de oficina que hoy se hace a mano, copiando y pegando.
Esta guía va al grano. Primero verás en qué situaciones compensa escribir un script y en cuáles no, con ejemplos de código cortos que funcionan con Python 3 actual. Después, qué alternativa elegir cuando Python no encaja, una ruta de aprendizaje realista, los recursos gratuitos que merecen tu tiempo y una batería de preguntas frecuentes.
Una aclaración antes de seguir: esta página no se apoya en encuestas propias, ni en casos de alumnos, ni en cifras de empleo. Donde aparecen tiempos de aprendizaje, son orientativos y dependen de tu punto de partida y de las horas que le dediques.
Qué es Python básico y qué puedes hacer con él
Python es un lenguaje de programación de propósito general, gratuito y de código abierto, cuyo desarrollo coordina la Python Software Foundation. Se diseñó para que el código se lea casi como texto: la indentación forma parte de la sintaxis, no hay llaves para delimitar bloques ni punto y coma al final de cada línea. Esa legibilidad es la razón práctica por la que se recomienda tanto para empezar, y no una cuestión de moda.
Lo que solemos llamar nivel básico abarca estas piezas:
- Tipos y variables: números enteros y decimales, cadenas de texto y valores lógicos (
TrueyFalse). - Estructuras de datos: listas, tuplas, diccionarios y conjuntos, que son el pan de cada día de cualquier script.
- Control de flujo: condiciones con
if,elifyelse, y buclesforywhile. - Funciones: agrupar pasos con un nombre, recibir parámetros y devolver un resultado.
- Ficheros: abrir, leer y escribir texto, CSV y JSON.
- Biblioteca estándar: módulos que vienen de serie, como
pathlib,csv,json,datetimeore. - Librerías externas: instalarlas con
pipdentro de un entorno virtual y leer su documentación. - Errores: leer un mensaje de error (el traceback), localizar la línea que falla y usar
tryyexceptpara los fallos previsibles.
Lo que queda fuera de ese nivel: programación orientada a objetos en profundidad, concurrencia, empaquetado y publicación de librerías, pruebas automatizadas complejas y optimización de rendimiento. Nada de eso hace falta para las tareas que verás a continuación.
Una ventaja que se suele pasar por alto es precisamente la biblioteca estándar. Python trae módulos para trabajar con fechas, ficheros comprimidos, correo electrónico, CSV, JSON, expresiones regulares o peticiones web sencillas, así que muchas tareas no requieren instalar nada más. Cuando sí hace falta, el índice oficial de paquetes, PyPI, reúne cientos de miles de librerías publicadas por la comunidad, desde lectores de Excel hasta herramientas de aprendizaje automático.
«La legibilidad cuenta». Es una de las líneas del Zen de Python (PEP 20), que puedes leer en tu propio ordenador escribiendo
import thisen el intérprete. Resume por qué tanta gente escribe su primer programa útil en este lenguaje: dentro de seis meses tendrás que entender lo que escribiste hoy.
Cuándo usar Python básico: situaciones en las que compensa
La regla práctica cabe en una línea: tarea que se repite + pasos siempre iguales + datos en formato digital = candidata a script. Si además la tarea es tediosa y propensa a errores al hacerla a mano (copiar valores de un documento a otro, renombrar cientos de ficheros, revisar filas una a una), la balanza se inclina todavía más hacia Python. Si solo la vas a hacer una vez y te lleva diez minutos, hazla a mano: escribir, probar y corregir el script te llevará más.
Automatizar tareas con ficheros y carpetas
Es el caso de uso más agradecido para empezar. Renombrar facturas con un patrón, mover documentos a carpetas por año, borrar duplicados, comprimir copias de seguridad o buscar todos los PDF que contienen una palabra son tareas que Python resuelve con la biblioteca estándar, sin instalar nada.
Este ejemplo renombra todos los PDF de una carpeta llamada facturas con el formato factura_001.pdf, factura_002.pdf, etcétera. Empieza en modo simulación: primero muestra lo que haría y solo cambia los nombres cuando pones SIMULAR = False.
from pathlib import Path
SIMULAR = True # cámbialo a False cuando el listado te convenza
carpeta = Path("facturas")
for i, fichero in enumerate(sorted(carpeta.glob("*.pdf")), start=1):
nuevo = fichero.with_name(f"factura_{i:03d}.pdf")
print(f"{fichero.name} -> {nuevo.name}")
if not SIMULAR:
fichero.rename(nuevo)
Tres detalles que conviene entender. Path.glob("*.pdf") devuelve los ficheros que encajan con el patrón; sorted los ordena para que la numeración sea predecible; y {i:03d} rellena el número con ceros a la izquierda. Prueba siempre sobre una copia de la carpeta: si ya existiera un fichero con el nombre de destino, según el sistema operativo el cambio de nombre fallará o lo sobrescribirá.
Hojas de cálculo y CSV que ya se te quedan cortos
Excel es una herramienta excelente y no tienes que abandonarla. Python empieza a compensar cuando el trabajo con hojas de cálculo se vuelve repetitivo: unir los treinta ficheros que te mandan cada mes, limpiar las mismas columnas una y otra vez, cruzar dos listados por un código o generar el mismo resumen cada lunes. Un script hace esos pasos igual todas las veces y deja constancia de qué se ha hecho.
Ojo con un detalle muy español: los CSV que exporta Excel con configuración regional de España suelen usar punto y coma como separador y coma decimal. Este ejemplo suma importes por provincia a partir de un ventas.csv con columnas provincia e importe:
import csv
from collections import defaultdict
totales = defaultdict(float)
with open("ventas.csv", newline="", encoding="utf-8") as f:
for fila in csv.DictReader(f, delimiter=";"):
importe = fila["importe"].replace(".", "").replace(",", ".") # "1.234,56" -> "1234.56"
totales[fila["provincia"]] += float(importe)
for provincia, total in sorted(totales.items(), key=lambda par: par[1], reverse=True):
print(f"{provincia:<15} {total:>12.2f} €")
Si el fichero da un error de codificación al abrirlo, prueba con encoding="utf-8-sig" (UTF-8 con marca inicial) o con encoding="cp1252", que es la codificación clásica de Windows en Europa occidental.
Para leer y escribir ficheros .xlsx directamente, la librería más usada es openpyxl (se instala con pip install openpyxl). Este ejemplo recorre un inventario con las columnas producto, stock y stock mínimo, y lista lo que hay que reponer:
from openpyxl import load_workbook
libro = load_workbook("inventario.xlsx", data_only=True)
hoja = libro.active
reponer = []
for producto, stock, minimo in hoja.iter_rows(min_row=2, max_col=3, values_only=True):
if stock is not None and minimo is not None and stock < minimo:
reponer.append(str(producto))
print("Reponer:", ", ".join(reponer) or "nada")
data_only=True hace que leas el valor calculado de las fórmulas y no la fórmula en sí; min_row=2 salta la fila de cabeceras. Si tu empresa trabaja con Microsoft 365, comprueba también si tu licencia incluye la función Python en Excel, que permite escribir código Python dentro de una celda y lo ejecuta en la nube de Microsoft. No sustituye a un script propio para mover ficheros, pero sí para análisis dentro de la hoja.
Scripts pequeños para el día a día
Muchos de los scripts más útiles tienen menos de cincuenta líneas. Algunos ejemplos típicos: calcular precios con IVA para una lista de productos, generar nombres de usuario a partir de un listado, comprobar qué enlaces de un documento dan error, convertir un lote de imágenes a otro formato, extraer todas las direcciones de correo de un texto que te han pasado con permiso, o crear cada mañana una carpeta con la fecha del día.
Un script así se puede lanzar a mano con doble clic o desde la terminal, o programarse para que corra solo: en Windows con el Programador de tareas y en macOS o Linux con cron. Ese último paso es el que convierte un pequeño programa en una automatización de verdad.
Análisis de datos con pandas
Cuando pasas de sumar una columna a preguntarte cosas sobre tus datos (qué mes vende más, qué cliente ha bajado, cómo se reparte un gasto), entra en juego pandas, la librería de referencia para datos en tabla. Con el mismo ventas.csv de antes, y una columna mes, el resumen mensual queda así:
import pandas as pd
df = pd.read_csv("ventas.csv", sep=";", decimal=",", thousands=".")
resumen = df.groupby("mes")["importe"].agg(["count", "sum", "mean"]).round(2)
print(resumen)
resumen.to_excel("resumen_mensual.xlsx") # requiere openpyxl instalado
Los parámetros decimal="," y thousands="." resuelven de una vez el formato numérico español. Para gráficos, matplotlib o las funciones de dibujo de pandas bastan al principio. Y para trabajar de forma interactiva, viendo el resultado de cada paso, los cuadernos Jupyter o Google Colab (que funciona en el navegador con una cuenta de Google) son muy cómodos.
Si quieres practicar con datos reales, el portal de datos abiertos del Gobierno, datos.gob.es, y las tablas descargables del INE son buenas fuentes: datos públicos, documentados y en formatos que pandas lee sin problemas.
Consultar webs y APIs
Muchos servicios ofrecen una API: una dirección que devuelve datos estructurados, normalmente en JSON, pensada para que un programa los consulte. Si existe una API, úsala antes que extraer datos de la página HTML: es más estable, más rápida y suele venir con condiciones de uso claras. Este ejemplo consulta la API pública de GitHub sobre el repositorio oficial de Python:
import requests
r = requests.get("https://api.github.com/repos/python/cpython", timeout=10)
r.raise_for_status()
datos = r.json()
print(datos["full_name"], "-", datos["stargazers_count"], "estrellas")
timeout=10 evita que el programa se quede colgado si el servidor no responde, y raise_for_status() convierte un error HTTP (un 404 o un 500) en una excepción visible en lugar de un fallo silencioso más adelante. Cuando no hay API y te planteas leer directamente las páginas, lee antes la sección sobre web scraping: ahí la parte técnica es lo de menos.
Primeros pasos en inteligencia artificial
Python es el lenguaje dominante en aprendizaje automático: las librerías más conocidas del campo, como scikit-learn, PyTorch o TensorFlow, se usan desde Python. Con nivel básico puedes entrenar tu primer modelo sencillo y entender qué significa separar datos de entrenamiento y de prueba:
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
X, y = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=42)
modelo = DecisionTreeClassifier(random_state=42).fit(X_train, y_train)
print(f"Acierto con datos no vistos: {modelo.score(X_test, y_test):.2f}")
Seamos claros con las expectativas: Python básico es la puerta de entrada, no el destino. Para trabajar en serio con modelos necesitas estadística, álgebra lineal a nivel práctico y mucha limpieza de datos. Y si usas desde Python la API de algún servicio de IA generativa, recuerda que lo que envías sale de tu ordenador: no mandes datos personales ni información confidencial de tu empresa sin revisar las condiciones y la normativa de protección de datos. Si este es tu objetivo, en nuestra guía de cursos de data science y machine learning con Python tienes el siguiente paso.
| Tarea | ¿Python básico? | Herramientas habituales | Comentario |
|---|---|---|---|
| Renombrar, mover u ordenar ficheros | Sí | pathlib, shutil | Biblioteca estándar, sin instalar nada |
| Unir y limpiar CSV o Excel cada mes | Sí | csv, openpyxl, pandas | Compensa en cuanto el proceso se repite |
| Informe periódico con tablas y gráficos | Sí | pandas, matplotlib | Mismo resultado cada vez, sin copiar y pegar |
| Consultar datos de un servicio con API | Sí | requests, json | Respeta límites y condiciones de la API |
| Extraer datos de páginas web | Con cautela | requests, BeautifulSoup | Revisa antes el marco legal y las condiciones de la web |
| Primer modelo de aprendizaje automático | Sí, como aprendizaje | scikit-learn | Para ir en serio hace falta estadística |
| Una suma puntual en una hoja | No | Fórmula de Excel | Tardas menos en hacerlo que en programarlo |
| App para el móvil | No, por lo general | Kotlin, Swift | Python tiene opciones, pero minoritarias |
Web scraping con Python: lo que tienes que revisar antes de lanzar el script
Técnicamente, leer una página web con Python son cuatro líneas. Jurídicamente, la cosa no es neutra. Lo que sigue es una orientación general, no asesoramiento legal: si el uso es comercial, masivo o afecta a datos de personas, consulta con un abogado especializado en protección de datos y propiedad intelectual antes de empezar.
- Datos personales. Si lo que recoges identifica o permite identificar a personas (nombres, correos, teléfonos, perfiles), se aplican el Reglamento General de Protección de Datos (Reglamento (UE) 2016/679) y la Ley Orgánica 3/2018, aunque esos datos estén publicados en abierto. Necesitas una base jurídica, informar a los afectados y recoger solo lo imprescindible. «Estaba en internet» no es una base jurídica.
- Bases de datos. Quien ha invertido de forma sustancial en crear una base de datos tiene un derecho específico (el llamado derecho sui generis, de la Directiva 96/9/CE, recogido en los artículos 133 y siguientes de la Ley de Propiedad Intelectual) que le protege frente a la extracción de partes sustanciales de su contenido.
- Contenido protegido. Textos, fotografías y vídeos tienen derechos de autor. Analizarlos no es lo mismo que copiarlos y republicarlos. La excepción de minería de textos y datos de la Directiva (UE) 2019/790, incorporada al derecho español por el Real Decreto-ley 24/2021, permite ciertos análisis, pero el titular puede reservarse ese uso de forma legible por máquina.
- Condiciones de uso y robots.txt. El fichero
robots.txtno es una ley, pero es una indicación clara de lo que el propietario acepta. Las condiciones de uso de muchas webs prohíben el acceso automatizado. Leerlas es obligatorio antes de empezar. - Barreras técnicas. Saltarte un inicio de sesión, un sistema anti-bots o cualquier medida de seguridad para llegar a datos que no son públicos puede entrar en el terreno penal (el artículo 197 bis del Código Penal castiga el acceso a sistemas vulnerando medidas de seguridad). No lo hagas.
- Carga del servidor. Un script mal hecho puede lanzar cientos de peticiones por minuto. Identifícate, deja pausas entre peticiones y evita las horas punta del servicio.
La biblioteca estándar incluye un lector de robots.txt para comprobar si una ruta está permitida para tu programa:
from urllib import robotparser
rp = robotparser.RobotFileParser()
rp.set_url("https://example.com/robots.txt")
rp.read()
print(rp.can_fetch("MiScript/1.0", "https://example.com/precios/"))
Y si todo lo anterior está en orden, una lectura educada de una página tiene este aspecto (requiere pip install requests beautifulsoup4):
import time
import requests
from bs4 import BeautifulSoup
cabeceras = {"User-Agent": "MiScript/1.0 (contacto: [email protected])"}
r = requests.get("https://example.com/", headers=cabeceras, timeout=10)
r.raise_for_status()
soup = BeautifulSoup(r.text, "html.parser")
print(soup.title.string)
time.sleep(2) # pausa antes de la siguiente petición si vas a pedir más páginas
Antes de extraer datos de una web ajena, pregúntate si existe una fuente oficial: muchos organismos publican sus datos en abierto, con licencia de reutilización, precisamente para que no tengas que extraerlos de sus páginas.
Cuándo NO es la mejor opción
Python es muy versátil, pero no es la herramienta adecuada para todo. Elegir mal el lenguaje te puede costar semanas. Estos son los casos en los que conviene mirar hacia otro lado, o al menos pensarlo dos veces:
- Apps móviles nativas. Para Android el lenguaje de referencia es Kotlin y para iOS, Swift. Existen proyectos para hacer apps con Python, como Kivy o BeeWare, pero son minoritarios y encontrarás mucha menos documentación y ayuda.
- La parte visual de una web. Lo que se ejecuta en el navegador es JavaScript (con HTML y CSS). Python brilla en el servidor, con frameworks como Django, Flask o FastAPI, pero la interfaz interactiva la escribirás en JavaScript o con alguna herramienta que lo genere por ti.
- Videojuegos exigentes. Los motores más usados trabajan con C++ (Unreal Engine) o C# (Unity). Pygame es estupendo para aprender y para juegos 2D sencillos, pero no para un título comercial con gráficos avanzados.
- Microcontroladores con muy poca memoria. En sistemas embebidos manda C o C++. MicroPython permite programar placas como la Raspberry Pi Pico o las ESP32 y sirve muy bien para prototipos y aprendizaje, aunque no en todos los dispositivos ni para cualquier exigencia de tiempo real.
- Cálculo intensivo en bucles puros. El intérprete habitual de Python, CPython, es más lento que un lenguaje compilado cuando todo el trabajo son operaciones sencillas dentro de bucles. En la práctica se resuelve con librerías como NumPy o pandas, que hacen el cálculo pesado en código compilado por debajo; si tu problema no encaja en ellas, quizá necesites otro lenguaje.
- Tareas que ya resuelve otra herramienta. Una fórmula, una tabla dinámica, Power Query, una regla de tu gestor de correo o una automatización de tu programa de gestión pueden hacer el trabajo sin que tengas que mantener un script.
- Entornos donde no puedes instalar software. En muchas empresas el departamento de sistemas no permite instalar programas. Pregunta antes: quizá haya un entorno autorizado, o quizá la solución pase por las herramientas que ya tienes (macros de Office, Python en Excel si tu licencia lo incluye, o la plataforma de automatización corporativa).
- Tareas de una sola vez. Si vas a hacerlo una vez y te lleva cinco minutos, programarlo es entretenimiento, no productividad. Está bien como práctica, pero sé consciente de ello.
El mejor script es el que no hace falta escribir. Antes de abrir el editor, pregúntate si la tarea desaparecería cambiando el proceso: pedir los datos en otro formato, acordar una plantilla común o activar una opción que ya existe en el programa que usas.
Python frente a otros lenguajes y herramientas
La pregunta útil no es qué lenguaje es mejor, sino cuál encaja con lo que quieres hacer y con el entorno en el que trabajas. Esta tabla resume dónde brilla cada opción y cuándo tiene sentido elegirla antes que Python. La columna de curva inicial es una valoración cualitativa, no una medición.
| Lenguaje o herramienta | Dónde brilla | Curva inicial | Cuándo elegirlo antes que Python |
|---|---|---|---|
| Python | Automatización, datos, IA, servidores web, scripts | Suave | Punto de partida razonable para la mayoría de tareas de oficina y datos |
| Excel (fórmulas, tablas dinámicas, Power Query) | Cálculos y resúmenes sobre una hoja | Muy suave | Si el volumen es pequeño y el proceso cambia cada vez |
| VBA (macros de Office) | Automatizar dentro de Excel, Word o Outlook | Suave a media | Si todo ocurre dentro de Office y no puedes instalar nada más |
| JavaScript | Navegador, webs interactivas, servidores con Node.js | Media | Si lo que construyes se ve y se usa en un navegador |
| R | Estadística, investigación, gráficos científicos | Media | Si tu equipo o tu campo (estadística, bioinformática) ya trabaja en R |
| SQL | Consultar y resumir datos en bases de datos | Suave para lo básico | Si los datos ya viven en una base de datos: pregunta con SQL y usa Python para lo que venga después |
| Java / Kotlin | Aplicaciones empresariales grandes, Android | Media a alta | Si el proyecto o la empresa ya están en ese ecosistema, o si vas a hacer apps Android |
| C# | Aplicaciones de escritorio en Windows, Unity | Media a alta | Si trabajas con tecnologías de Microsoft o quieres hacer videojuegos con Unity |
| C / C++ | Sistemas, motores de juegos, dispositivos | Alta | Si necesitas control fino de la memoria y el máximo rendimiento |
En la práctica, estas opciones se combinan más de lo que compiten. Una analista puede sacar datos con SQL, procesarlos con Python y presentar el resultado en Excel. Un desarrollador web suele escribir el servidor en Python y la interfaz en JavaScript. Aprender Python básico no te cierra ninguna puerta: los conceptos de variables, bucles, funciones y estructuras de datos se trasladan casi sin cambios a cualquier otro lenguaje.
Si todavía dudas entre lenguajes para empezar desde cero, en nuestra guía para aprender programación desde cero tienes una comparación más amplia de caminos y perfiles.
Ruta de aprendizaje de Python básico, paso a paso
La mayoría de la gente que abandona no lo hace por falta de capacidad, sino por encadenar tutoriales sin aplicar nada. La ruta que proponemos alterna aprendizaje y práctica sobre problemas tuyos. Los plazos son orientativos, pensando en unos 30 a 45 minutos al día; si partes de cero absoluto o puedes dedicar menos tiempo, se alargarán, y no pasa nada.
| Fase | Qué aprendes | Plazo orientativo | Señal de que puedes avanzar |
|---|---|---|---|
| 1. Entorno y sintaxis | Instalar Python, usar el intérprete, variables, tipos, print e input | 1-2 semanas | Escribes un programa que pide datos y responde con un cálculo |
| 2. Estructuras y control | Listas, diccionarios, if, for, while, funciones | 2-4 semanas | Resuelves ejercicios cortos sin mirar la solución |
| 3. Ficheros y biblioteca estándar | pathlib, csv, json, datetime, errores con try | 2-3 semanas | Automatizas una tarea real tuya con ficheros |
| 4. Librerías externas | pip, entornos virtuales, requests, openpyxl, pandas | 3-4 semanas | Tu script lee un Excel de verdad y genera un resumen |
| 5. Proyecto propio | Un proyecto completo, Git básico, un README | Abierto | Otra persona puede ejecutarlo siguiendo tus instrucciones |
Instalar Python y preparar el entorno
Descarga Python desde la web oficial, python.org/downloads, y elige la última versión estable de la rama 3. Python publica una versión nueva cada año, en octubre, y cada una recibe unos cinco años de soporte en total, así que cualquier versión reciente te sirve para aprender. En Windows, la instalación oficial incluye el lanzador py, que te permite ejecutar Python desde la terminal; en macOS puedes usar el instalador de python.org, y en la mayoría de distribuciones Linux ya viene instalado, aunque conviene no tocar el Python del sistema.
Desde el primer proyecto con librerías externas, acostúmbrate a los entornos virtuales. Un entorno virtual es una carpeta con su propio Python y sus propias librerías, de modo que lo que instalas para un proyecto no rompe otro:
python -m venv .venv
# Windows (PowerShell o CMD)
.venv\Scripts\activate
# macOS / Linux
source .venv/bin/activate
pip install requests openpyxl pandas
Si PowerShell te impide activar el entorno por la directiva de ejecución de scripts, puedes usar CMD o consultar con quien administre tu equipo; no cambies la configuración de seguridad de un ordenador de empresa por tu cuenta.
Como editor, tienes varias opciones gratuitas: IDLE, que viene con Python y basta para los primeros días; Thonny, pensado para principiantes y con un depurador muy visual; Visual Studio Code con la extensión oficial de Python, cuando quieras un editor completo; y Jupyter o Google Colab para análisis de datos paso a paso.
Los fundamentos que de verdad usarás
No hace falta memorizar todo el lenguaje. Con variables, listas, bucles, funciones y cadenas formateadas (las f-strings) ya escribes código útil. Este ejemplo reúne casi todo en seis líneas: calcula el total con IVA de una cesta aplicando el tipo general del 21 %:
def precio_con_iva(base, tipo=21):
return round(base * (1 + tipo / 100), 2)
cesta = [12.50, 3.99, 40.00]
total = sum(precio_con_iva(p) for p in cesta)
print(f"Total con IVA: {total:.2f} €")
Fíjate en el parámetro con valor por defecto (tipo=21), que puedes cambiar al llamar a la función para el tipo reducido o superreducido; en la expresión que recorre la lista dentro de sum; y en el formato :.2f, que muestra dos decimales. Un aviso práctico: los números decimales en coma flotante tienen pequeñas imprecisiones de redondeo. Para contabilidad seria se usa el módulo decimal de la biblioteca estándar.
Tu primer proyecto: elige algo que te moleste
El mejor primer proyecto es uno que resuelve un fastidio tuyo, porque tendrás motivos para terminarlo. Algunas ideas de dificultad razonable:
- Ordenar automáticamente la carpeta de descargas por tipo de fichero.
- Unir los extractos mensuales de tu banco (descargados en CSV) y ver el gasto por categoría.
- Generar un listado de tareas semanal a partir de una hoja de cálculo.
- Comprobar cada mañana si una página de datos abiertos ha publicado una actualización.
- Crear un pequeño juego de preguntas y respuestas para repasar un tema que estés estudiando.
Cuando lo tengas funcionando, súbelo a un repositorio con Git y escribe un README que explique cómo ejecutarlo. Ese hábito te servirá igual si programas por afición que si algún día quieres enseñar lo que sabes hacer. Tienes un recorrido más amplio en la guía para aprender a programar desde cero y una selección de formación en nuestra página de cursos de Python.
Recursos gratuitos y fiables para aprender Python
Hay muchísimo material gratuito de calidad. El problema no es encontrarlo, sino elegir uno y terminarlo. Estos son recursos reales y reconocidos; indicamos el idioma y para qué sirve cada uno:
- Tutorial oficial de Python en español. La documentación oficial, traducida por la comunidad hispanohablante. Es rigurosa y completa; para algunas personas resulta densa como primer contacto, pero es la referencia a la que siempre volverás.
- Python for Everybody (py4e.com). Curso gratuito del profesor Charles Severance, pensado para gente sin experiencia previa. El libro que lo acompaña tiene traducción al español.
- CS50's Introduction to Programming with Python. El curso de introducción a Python de la Universidad de Harvard, con vídeos y ejercicios corregidos automáticamente. En inglés, con subtítulos.
- Automate the Boring Stuff with Python. Libro de Al Sweigart que se puede leer gratis en su web. Está enfocado justo a lo que trata esta guía: automatizar tareas de oficina. En inglés.
- Kaggle Learn: Python. Microcursos gratuitos que se hacen en el navegador, muy orientados a datos. Buen puente hacia pandas y el aprendizaje automático. En inglés.
- freeCodeCamp. Plataforma sin ánimo de lucro con itinerarios gratuitos que incluyen Python y análisis de datos.
- Microsoft Learn. Módulos gratuitos, varios de ellos en español, incluidos itinerarios de introducción a Python.
- 10 minutes to pandas. La introducción oficial a pandas; cuando llegues a la fase 4, es mejor punto de partida que muchos tutoriales.
En plataformas como Coursera o edX, muchos cursos de Python se pueden seguir sin pagar y lo que se cobra es el certificado. Las condiciones de la modalidad gratuita cambian a menudo, así que revisa en cada ficha qué incluye antes de apuntarte. Si buscas más opciones sin coste, en nuestra guía para aprender Python desde cero gratis y en la selección de cursos gratuitos online tienes más alternativas comparadas.
La comunidad también es un recurso. La asociación Python España organiza la conferencia anual PyConES y agrupa a comunidades locales que hacen encuentros en varias ciudades. Para dudas concretas, el foro oficial discuss.python.org y Stack Overflow siguen siendo los lugares donde más respuestas encontrarás; antes de preguntar, busca si alguien ya lo ha resuelto y comparte siempre el mensaje de error completo.
Errores frecuentes al empezar y cómo evitarlos
Casi todos los tropiezos de las primeras semanas se repiten. Conocerlos de antemano te ahorra horas de frustración:
- Aprender sintaxis sin un problema delante. Ver vídeos da sensación de avance, pero lo que fija el conocimiento es escribir código que resuelve algo. Desde la primera semana, combina teoría con un ejercicio propio.
- Copiar código que no entiendes. Vale para el código de foros y para el que te genere un asistente de IA. Léelo línea a línea, pregúntate qué hace cada parte y nunca ejecutes un script que borra o mueve ficheros sin probarlo antes en modo simulación o sobre una copia.
- Instalar todas las librerías de forma global. Tarde o temprano dos proyectos necesitarán versiones distintas de la misma librería. Un entorno virtual por proyecto evita el problema.
- No leer el mensaje de error. El traceback se lee de abajo arriba: la última línea dice qué tipo de error es y por qué, y las anteriores indican en qué fichero y línea ocurrió.
- Mezclar tabuladores y espacios. La indentación forma parte de la sintaxis. La guía de estilo oficial, PEP 8, recomienda cuatro espacios por nivel; configura tu editor para que lo haga solo.
- Escribir contraseñas y claves dentro del código. Si subes ese fichero a un repositorio, la clave queda expuesta. Usa variables de entorno o un fichero de configuración que no se comparta.
- Trabajar sobre los datos originales. Haz siempre una copia antes de ejecutar un script que modifica ficheros. Un bucle con un error puede estropear cientos de documentos en un segundo.
- Seguir tutoriales de Python 2. Python 2 dejó de recibir soporte el 1 de enero de 2020. Si un tutorial escribe
print "hola"sin paréntesis, está desfasado.
Programar es, en buena parte, leer errores con calma. La diferencia entre quien avanza y quien se atasca no está en cometer menos fallos, sino en saber leer qué le está diciendo el intérprete.
Cómo decidir en cinco minutos si tu tarea merece un script
Antes de ponerte a programar, responde a estas preguntas. Si contestas que sí a la mayoría, adelante:
- ¿Se repite? Cada día, cada semana o cada mes. Una tarea de una sola vez rara vez compensa.
- ¿Los pasos son siempre los mismos? Si cada vez requiere un criterio distinto que no sabes explicar con reglas, será difícil de automatizar.
- ¿Los datos están en formato digital y estructurado? CSV, Excel, JSON, carpetas con nombres coherentes. Si están en papel o en PDF escaneados, primero hay otro problema que resolver.
- ¿Un error manual tiene coste? Cuando equivocarse al copiar un número tiene consecuencias, un script bien probado es más fiable que tus ojos a última hora.
- ¿Existe ya una herramienta que lo haga? Revisa las opciones de tu programa, una fórmula o una regla antes de escribir código.
- ¿Puedes ejecutar Python en ese equipo? En ordenadores de empresa, confírmalo con sistemas antes de invertir tiempo.
Una cuenta sencilla ayuda a poner las cosas en perspectiva: una tarea de 15 minutos a la semana supone unas 13 horas al año. Si escribir y probar el script te lleva una tarde, lo recuperas en pocas semanas y, de paso, practicas. Si la tarea son 15 minutos al año, déjala como está.
Preguntas frecuentes sobre cuándo usar programación Python básico
¿Para qué sirve saber Python básico si no voy a ser programador?
Para quitarte trabajo repetitivo: ordenar ficheros, unir y limpiar hojas de cálculo, generar informes periódicos o consultar datos de un servicio. Con el nivel básico ya puedes automatizar tareas de oficina y entender mejor a los equipos técnicos con los que trabajas.
¿Cuánto tiempo se tarda en poder usar Python básico en el trabajo?
Depende de tu punto de partida y de las horas que le dediques. Como orientación, con práctica diaria de media hora muchas personas escriben su primer script útil con ficheros en uno o dos meses. Lo que más acelera es practicar sobre problemas propios y no solo seguir tutoriales.
¿Cuándo es mejor Python y cuándo Excel?
Excel es mejor para cálculos puntuales, hojas pequeñas y procesos que cambian cada vez. Python compensa cuando el proceso se repite con los mismos pasos, cuando manejas muchos ficheros o muchas filas, o cuando necesitas cruzar datos de varias fuentes. Lo habitual es combinarlos: Python prepara los datos y Excel los presenta.
¿Es legal hacer web scraping con Python en España?
Depende de qué datos recoges y cómo. Si hay datos personales se aplican el RGPD y la LOPDGDD aunque estén publicados; las bases de datos y los contenidos tienen protección de propiedad intelectual; y las condiciones de uso de la web pueden prohibir el acceso automatizado. Prioriza APIs y datos abiertos, no saltes barreras técnicas y, para usos comerciales o masivos, consulta con un abogado.
¿Necesito saber matemáticas para aprender Python básico?
No más allá de la aritmética y algo de lógica. Para automatizar tareas y trabajar con ficheros basta con eso. Las matemáticas pesan más cuando pasas a análisis estadístico o aprendizaje automático, y ahí sí conviene repasar estadística y álgebra.
¿Qué versión de Python instalo en 2026?
La última versión estable de Python 3 disponible en python.org. Python publica una versión nueva cada octubre y cada una tiene unos cinco años de soporte, así que cualquier versión reciente sirve. Evita Python 2, que no recibe soporte desde el 1 de enero de 2020.
¿Python sirve para hacer apps móviles?
Es posible con proyectos como Kivy o BeeWare, pero no es lo habitual. Para apps nativas, el camino estándar es Kotlin en Android y Swift en iOS. Python sí se usa mucho en el servidor que da servicio a esas apps.
¿Puedo aprender Python básico gratis?
Sí. El tutorial oficial en español, Python for Everybody, el curso CS50P de Harvard, Automate the Boring Stuff, Kaggle Learn, freeCodeCamp y Microsoft Learn ofrecen material gratuito de calidad. En plataformas como Coursera o edX, lo que suele pagarse es el certificado, no el contenido.
¿Python básico basta para trabajar con inteligencia artificial?
Basta para empezar: entrenar modelos sencillos con scikit-learn o usar desde Python la API de un servicio de IA. Para trabajar en serio necesitarás estadística, manejo de datos con pandas y NumPy, y experiencia evaluando modelos. Y cuidado con enviar datos personales o confidenciales a servicios externos.
¿Qué ordenador necesito para programar en Python?
Cualquier ordenador actual con Windows, macOS o Linux sirve para aprender y automatizar tareas. Si tu equipo es muy limitado o no puedes instalar programas, Google Colab o Kaggle permiten escribir y ejecutar Python desde el navegador.
¿Python o JavaScript para empezar?
Si tu objetivo es automatizar tareas, trabajar con datos o acercarte a la IA, Python. Si quieres construir páginas web interactivas, JavaScript, porque es el lenguaje del navegador. Los fundamentos se trasladan de uno a otro, así que el segundo lenguaje siempre cuesta mucho menos que el primero.
Resumen: cuándo sí y cuándo no
Usa Python básico cuando una tarea con datos o ficheros se repite, sigue siempre los mismos pasos y te cuesta tiempo o errores hacerla a mano. Es especialmente útil para ficheros y carpetas, hojas de cálculo y CSV, informes periódicos, consultas a APIs y primeros pasos en análisis de datos e inteligencia artificial. Busca otra herramienta para apps móviles nativas, la interfaz de una web, videojuegos exigentes, dispositivos con muy poca memoria o tareas que ya resuelve tu programa de siempre.
Si decides empezar, instala una versión reciente desde python.org, sigue un único recurso gratuito hasta el final y aplica cada tema a un problema tuyo desde la primera semana. Y cuando vayas a extraer datos de webs ajenas o a tratar datos de personas, revisa antes el marco legal.
Sobre esta guía: elaborada por la redacción de Aprende.Studio a partir de la documentación oficial de Python y de las librerías citadas. Los ejemplos de código están pensados para Python 3 actual. Revisada en septiembre de 2026.