
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.
Tabla de contenidos
¿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.
Deja una respuesta