Solución: error de sangría Python

Python es un lenguaje de programación emergente que se lanzó por primera vez en 1991. El lenguaje es conocido por su gran biblioteca completa y es compatible con varios paradigmas de programación, como funcional, imperativo, procedimental y orientado a objetos.

Error de sangría Python durante la codificación

El ' Error de sangría: se esperaba un bloque sangrado ' ocurre para todo tipo de usuarios; ya sean novatos o experimentados. Dado que Python organiza todo su código por espacios en blanco correctos, si tiene una sangría incorrecta, el código no se compilará y se le devolverá un mensaje de error.

De acuerdo con las convenciones seguidas en PEP8, debe haber cuatro espacios en blanco donde sea necesario. Es ideal que todos los programadores utilicen las sangrías adecuadas para mejorar la legibilidad del código.

¿Qué causa el error de sangría en Python?

Como se mencionó anteriormente, este error se produce principalmente porque hay errores de espacio o tabulación en su código. Dado que Python usa lenguaje de procedimiento, puede experimentar este error si no ha colocado las pestañas / espacios correctamente. El programa puede ejecutarse 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 espacios y tabulaciones en tu código. Si ambos se usan indistintamente, el intérprete no podrá determinar qué elemento usar.
  • Ha colocado una sangría incorrecta . Si no se sigue la práctica de la sangría, inevitablemente tendrá este error.
  • Olvidó sangrar las declaraciones compuestas como 'si', 'para', 'mientras', etc.
  • Olvidó aplicar sangría a las funciones o clases definidas por el usuario .

Solución 1: Comprobación de espacios en blanco / pestañas incorrectos

No existe una solución instantánea para este problema. Dado que el código es suyo, debe revisar cada línea y ver dónde cometió el error. Hay varios bloques en el código con respecto a la estructura. Si hay una declaración 'If', debe haber una sangría en el código que la sigue.

Estructura de bloque que visualiza la sangría en Python

Mira el diagrama de arriba. Vea que la sangría para un bloque específico permanece igual en todo el código incluso si se introduce un nuevo bloque en el medio. Asegúrese de que su sangría sea consistente. Si usa espacios, use siempre espacios y si usa pestañas, use siempre pestañas. La mezcla de dos causará problemas.

Ejemplo de sangría en Python

La sangría correcta se muestra en el ejemplo anterior. Vea el ciclo 'for' para empezar. Todo lo que esté dentro del bucle 'for' debe tener sangría. Dentro del bucle 'for', tenemos una declaración 'if'. Dentro de la declaración 'if', todo debe tener más sangría.

Puede verificar fácilmente dónde ocurrió el error de sangría al verificar el registro de errores y ver la línea desde donde se originó el error.

Solución 2: habilitar los símbolos de tabulación / espacio en el editor

Si tiene dificultades para sangrar su código con 'adivinar' como hacen todos los programadores, puede habilitar los símbolos de tabulación / espacio en su IDE o editor de código. Esta opción habilitará pequeños 'puntos' en su código donde cada punto representa un espacio o pestaña. Puede usar esto para sangrar el código de manera más adecuada y asegurarse de que no haya sangría adicional o que falte alguna.

En este ejemplo, tomaremos Notepad ++ y veremos cómo puede habilitar los símbolos. Si está utilizando otro software para la edición de código, puede habilitar la configuración específica para él.

  1. Presione Ver> Mostrar símbolo> Mostrar espacios en blanco y TABHabilitación de espacios en blanco y tabulación en Python
  1. Ahora la opción está habilitada. También puede habilitar la Guía de sangría para que las cosas sean más fáciles para usted.
Código de muestra con sangría correcta en Python

Mira el ejemplo de arriba. Vea la sangría implementada después de cada clase. Cada espacio está representado por un solo punto. Después de realizar cambios en la sangría incorrecta en su código, ejecútelo nuevamente y vea si esto resuelve el problema.