Python es un lenguaje de programación emergente que fue lanzado por primera vez en 1991. El lenguaje es conocido por su amplia y completa biblioteca y soporta varios paradigmas de programación como el funcional, el imperativo, el de procedimiento y el orientado a objetos.
Error de indentación en Python
El error de indentación $0027 : Se espera que un bloque indentado $0027 se produzca para todo tipo de usuarios; ya sean novatos o experimentados. Dado que Python ordena todo su código por espacios en blanco correctos, si tienes una mala indentación, el código no se compilará y se te devolverá un mensaje de error.
Según las convenciones seguidas en el PEP8, debe haber cuatro espacios en blanco donde sea necesario. Es ideal que cada programador utilice las indentaciones adecuadas para mejorar la legibilidad del código.
¿Qué causa el error de indentación en Python?
Como se mencionó anteriormente, este error ocurre principalmente porque hay errores de espacio o de tabulación en su código. Dado que Python utiliza un lenguaje de procedimiento, puedes experimentar este error si no has colocado los tabuladores/espacios correctamente. El programa puede funcionar correctamente pero si el intérprete encuentra este error, el mensaje de error aparecerá en el medio. Algunas de las causas del error son:
- Estás usando tanto espacios como pestañas en tu código. Si ambos se usan indistintamente, el intérprete no podrá determinar qué elemento usar.
- Has puesto alguna sangría mal . Si no se sigue la práctica de la indentación, tendrás este error inevitablemente.
- Olvidaste sangrar las declaraciones compuestas como “si”, “para”, “mientras”, etc.
- Olvidaste sangrar funciones o clases definidas por el usuario .
Solución 1: Comprobar si hay espacios en blanco/tabla equivocados
No hay una solución instantánea para este problema. Como el código es tuyo, tienes que pasar por cada línea y ver dónde cometiste el error. Hay varios bloques en el código con respecto a la estructura. Si hay una declaración de “Si”, tiene que haber una sangría en el código que la sigue.
Estructura de bloque que visualiza la indentación
Mira el diagrama de arriba. Observa que la indentación de un bloque específico permanece igual en todo el código, incluso si se introduce un nuevo bloque en el medio. Asegúrate de que la indentación es consistente. Si usas espacios, usa siempre espacios y si usas tabulaciones, usa siempre tabulaciones. La mezcla de dos causará problemas.
Ejemplo de indentación
La indentación correcta se muestra en el ejemplo anterior. Véase el bucle “para” para empezar. Todo dentro del bucle $0027for$0027 debe estar indentado. Dentro del bucle $0027for$0027, tenemos una sentencia $0027if$0027. Dentro de la sentencia $0027if$0027, todo debe estar más indentado.
Puede comprobar fácilmente dónde se produjo el error de indentación comprobando el registro de errores y viendo la línea desde donde se originó el error.
Solución 2: Habilitar los símbolos de tabulación/espacio en el editor
Si tienes dificultades para hacer sangrías en el código mediante “adivinar” como hacen todos los programadores, puedes habilitar los símbolos de tabulación/espacio en tu IDE o en el editor de código. Esta opción habilitará pequeños $0027puntos$0027 en tu código donde cada punto representa un espacio o una pestaña. Puedes utilizarla para sangrar el código de forma más adecuada y asegurarte de que no haya ninguna sangría extra o que falte alguna.
En este ejemplo, tomaremos Notepad++ y veremos cómo puedes habilitar los símbolos. Si estás usando otro software para la edición de código, puedes habilitar la configuración específica para él.
-
Presionar Ver> Mostrar Símbolo> Mostrar Espacio Blanco y TAB
Habilitar Espacio Blanco y TAB – Notepad++
- Ahora la opción está activada. También puedes activar la Guía de sangría para que las cosas sean más fáciles para ti.
Código de muestra con la indentación correcta
Revisa el ejemplo anterior. Vea la sangría implementada después de cada clase. Cada espacio está representado por un solo punto. Después de hacer cambios en la indentación incorrecta de tu código, ejecútalo de nuevo y mira si esto resuelve el problema.