Python

Solución a ‘IndentationError: unexpected indent’ en Python paso a paso

La indentación del código es una parte fundamental de Python y una de las razones por las que es un lenguaje fácil de leer y escribir. Sin embargo, también es una de las causas más comunes de errores para quienes comienzan a programar en este lenguaje. En esta entrada, explicaremos qué es el IndentationError, por qué ocurre y cómo puedes solucionarlo de manera sencilla con ejemplos prácticos y recomendaciones útiles.

¿Qué es el error ‘IndentationError: unexpected indent’ en Python?

Python utiliza la indentación (espacios o tabulaciones al inicio de una línea) para definir bloques de código. A diferencia de otros lenguajes que usan llaves {} o palabras clave como begin y end, Python depende totalmente de una indentación correcta y consistente. Usar mal la indentación en Python equivale a olvidar las llaves o las palabras clave en otros lenguajes.

El error “IndentationError: unexpected indent” ocurre cuando hay un problema con la indentación del código, como mezclar espacios y tabulaciones, usar indentación inesperada o no mantener una estructura coherente en un bloque.

¿Por qué motivos puede aparecer un IndentationError?

Este error ocurre principalmente en las siguientes situaciones:

  • Se mezclan espacios y tabulaciones en un mismo bloque de código.
  • Se introduce un espacio extra inesperado al principio de una línea.
  • No se mantiene una indentación consistente en un bloque de código.

Ejemplo del error ‘IndentationError: unexpected indent’

Veamos un caso típico que produce este tipo de error:

print("Inicio del programa")
    print("Este es un ejemplo de indentación incorrecta")
print("Fin del programa")

En este caso, la segunda línea tiene un espacio innecesario al principio, pero no pertenece a ningún bloque (la línea anterior no es un for, if ni define una función que indique el comienzo de un nuevo bloque). Por lo tanto, el intérprete de Python producirá un mensaje de error al ejecutar el código:

IndentationError: unexpected indent

En otros lenguajes como R o JavaScript, este problema no generaría un error, pero en Python, que usa la indentación para definir bloques de código, es fundamental seguir las reglas correctamente.

Solución al error ‘IndentationError’

Una vez identificada la causa del error, la solución suele ser sencilla: corregir la indentación incorrecta. Para solucionarlo, sigue estos pasos:

Identifica y corrige la línea con el problema

La salida de error de Python te indicará la línea exacta donde ocurre el problema. Por ejemplo:

  File "script.py", line 2
print("Este es un ejemplo de indentación incorrecta")
^
IndentationError: unexpected indent

Si el código se está ejecutando en un notebook en lugar de un archivo, el error es similar, pero hace referencia a la línea en la celda

  Cell In[1], line 2
print("Este es un ejemplo de indentación incorrecta")
^
IndentationError: unexpected indent

En este caso, el error está en la línea 2. Simplemente elimina los espacios o tabulaciones adicionales al inicio de esa línea.

El código corregido debería quedar así:

print("Inicio del programa")
print("Este es un ejemplo de indentación incorrecta")
print("Fin del programa")

Mantén una indentación consistente

Python permite usar espacios o tabulaciones, pero no debes mezclarlos. La recomendación general es usar 4 espacios por nivel de indentación.

Para evitar errores:

  • Configura tu editor de texto para usar espacios automáticamente en lugar de tabulaciones.
  • Si usas Visual Studio Code, instala la extensión “Indent-Rainbow”, que te ayudará a visualizar la indentación de manera clara y detectar errores.

Usa herramientas automáticas para formatear tu código

Existen herramientas que te ayudarán a mantener una indentación correcta y uniforme en tus archivos de Python:

  • Black: Un formateador de código que ajusta automáticamente la indentación y el estilo del código.
  • autopep8: Corrige problemas de estilo y formato en tu código Python siguiendo la guía PEP 8.
  • Flake8: Analiza el código en busca de errores, incluyendo problemas de indentación.

Puedes instalar estas herramientas con:

pip install black autopep8 flake8

Y ejecutarlas con:

black script.py
autopep8 --in-place script.py
flake8 script.py

Estas herramientas te ayudarán a evitar errores de indentación y a mantener un código limpio y uniforme.

Conclusiones

El error “IndentationError: unexpected indent” es común en Python, pero puedes solucionarlo fácilmente identificando las líneas problemáticas y siguiendo buenas prácticas de indentación.

Para evitar estos errores en el futuro:

  • Configura tu editor para usar espacios en lugar de tabulaciones.
  • Usa herramientas automáticas como Black, autopep8 o Flake8.
  • Instala extensiones como Indent-Rainbow en Visual Studio Code para detectar problemas de indentación visualmente.

Siguiendo estas recomendaciones, escribirás código en Python de manera más limpia y sin errores de indentación.

Nota: La imagen de este artículo fue generada utilizando un modelo de inteligencia artificial.

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez

Recent Posts

La Paradoja del Cumpleaños, o por qué no es tan raro compartir fecha de nacimiento

Imagínate en una sala con un grupo de personas, por ejemplo, en una oficina, un…

3 días ago

Programador de tareas de Windows: Guía definitiva para automatizar tu trabajo (BAT, PowerShell y Python)

En el trabajo diario con ordenadores, es común encontrarse con tareas repetitivas: realizar copias de…

5 días ago

Curiosidad: ¿Por qué usamos p < 0.05? Un umbral que cambió la historia de la ciencia

En casi cualquier análisis estadístico —ya sea en medicina, psicología, economía o ciencia de datos—…

1 semana ago

¿Está concentrado el MSCI World? Un análisis con Gini, Lorenz y leyes de potencia

El MSCI World Index suele presentarse como “la ventana al mundo” para quienes invierten en…

2 semanas ago

Curiosidad: La maldición de la dimensionalidad, o por qué añadir más datos puede empeorar tu modelo

En el mundo del análisis de datos solemos escuchar una idea poderosa: cuantos más datos,…

2 semanas ago

Error npm ERR! code EACCES al instalar paquetes en Node.js: Cómo solucionarlo paso a paso

¿Te has encontrado con este error al intentar instalar paquetes con npm? npm ERR! code…

3 semanas ago

This website uses cookies.