¿Qué es el error de sangría? ¿Cómo resolver el error de sangría en Python?

Publicado: 2021-12-22

Como lenguaje de programación interpretado, de alto nivel y de propósito general, Python está obteniendo cada vez más elogios como las plataformas emergentes, líderes y más prometedoras del mundo de la programación. Python no es nada sin su ingeniosa filosofía de diseño.

Una característica clave es un énfasis en el uso notable de sangría significativa para mejorar la legibilidad del código. La ilustración destacada a continuación describe sucintamente los baluartes de la filosofía de diseño de Python como veinte aforismos, a los que alude Tim Peters, Pythoneer a largo plazo, quien finalmente se convirtió en uno de los desarrolladores principales más prolíficos y tenaces de Python.

Tabla de contenido

Una breve introducción a Python

Antes de profundizar en los tecnicismos específicos que subyacen al error de sangría en Python, es imperativo que nos familiaricemos con los fundamentos de Python y la necesidad de la sangría. Si lo hace, no solo lo ayudará a obtener una mejor apreciación del error en sí, sino que también ofrecerá una idea de las ventajas que obtienen los programadores al elegir resolver el mismo de manera efectiva.

El inicio de Python como un lenguaje de programación multiparadigma se remonta al año 1991. Desde entonces, los programadores han adaptado continuamente la estructura básica de Python para satisfacer una variedad de necesidades específicas del usuario, como la ciencia de datos y el desarrollo web y móvil.

Ahora, todos sabemos que tratar de comprender la escritura ilegible es minuciosamente complicado y, a menudo, exasperante. Del mismo modo, un código ilegible y sin estructura es simple y llanamente inaceptable en el mundo de la programación. Aquí es donde la noción de PEP o Python Enhancement Proposal viene al rescate del programador. PEP para la comunidad de Python es similar a un documento de Google compartido para la población en general.

Es un mandato descriptivo continuamente actualizado que mantiene a la comunidad de programación de Python completamente informada sobre las funciones y actualizaciones para mejorar la legibilidad del código. Escrito por Guido van Rossum, Barry Varsovia y Nick Coghlan en 2001, el PEP 8 se conoce como el código de estilo de Python.

Aprenda cursos de desarrollo de software de las mejores universidades del mundo. Obtenga programas Executive PG, programas de certificados avanzados o programas de maestría para acelerar su carrera.

¿Qué es la sangría?

Se sabe principalmente que Python es un lenguaje de procedimiento y, por lo tanto, se usa una sangría en Python para segregar un código singular en grupos identificables de declaraciones funcionalmente similares. La mayoría de los lenguajes de programación, incluidos C, C++ y JAVA, emplean llaves '{}' para definir un bloque de código. Python marca una desviación de este diseño y prefiere el uso de sangría.

Sintaxis de sangría

De acuerdo con las convenciones descritas por la ética de espacios en blanco de PEP 8, cada nueva iteración (es decir, un bloque de código) debe comenzar con una sangría, y el final del código debe ser la primera línea que no tiene sangría. La práctica común para ejecutar una sangría es cuatro espacios en blanco o un solo carácter de tabulación, prefiriéndose en gran medida los espacios a las tabulaciones. Prohibida la mezcla de espacios y tabulaciones.

Causas del error de sangría en Python

El 'Error de sangría: se esperaba un bloque sangrado' no discrimina entre usuarios. Ya sea que sea un novato en la programación de Python o un desarrollador de software experimentado, esto seguramente sucederá en algún momento. En Python, dado que todo el código que escribe se organiza a través de espacios en blanco correctos, si en alguna instancia del código tiene una sangría incorrecta, el código general no se ejecutará y el intérprete devolverá una función de error. Para saber exactamente a qué prestar atención, a continuación se enumeran algunas de las causas comunes de un error de sangría en Python:

  • El uso simultáneo de tabulaciones y espacios durante la codificación. Se puede argumentar que, en teoría, tanto las pestañas como los espacios tienen el mismo propósito, pero consideremos esto desde la perspectiva del intérprete. Si los espacios en blanco y las tabulaciones se usan de manera inconsistente e intercambiable, se crea ambigüedad. Esto hará que el intérprete se confunda entre qué alteración usar y eventualmente devuelva un error de sangría en Python.
  • Ha colocado involuntariamente una sangría en el lugar equivocado o faltan tabulaciones o espacios en blanco entre las líneas de código. Dado que Python se adhiere a pautas estrictas para organizar los códigos escritos, una sangría en el lugar equivocado inevitablemente devolverá un error. Por ejemplo, la primera línea de Python no debe tener sangría.
  • Ocasionalmente, al terminar un programa atrasado excepcionalmente largo, es posible que, sin saberlo, se pierda la sangría de funciones de instrucciones compuestas como for, while y if. Esto conducirá nuevamente a un error de sangría. Esta es la necesidad más básica de sangría cuando se usa Python y debe practicarse rigurosamente para dominarla.
  • Si olvidó usar la sangría al trabajar con funciones definidas por el usuario o diferentes clases, es probable que aparezca un error.

¿Cómo resolver un error de sangría en Python?

  • Compruebe si hay espacios en blanco o tabulaciones incorrectas. Desafortunadamente, no existe una solución rápida para un error de sangría. Dado que el código es suyo, el hecho es que tendrá que evaluar individualmente cada línea para identificar instancias erróneas. Sin embargo, dado que las líneas de código se organizan en bloques, el proceso es relativamente simple. Por ejemplo, si ha utilizado la declaración 'si' en una línea en particular, puede verificar si se acordó de sangrar la siguiente línea.
  • Asegúrese de que la sangría de un bloque específico permanezca igual en todo el código, incluso si se introduce un nuevo bloque en el medio. Compruebe si hay inconsistencias en la sangría.

Si las soluciones manuales anteriores no funcionaron para usted y tiene dificultades para averiguar dónde se perdió la sangría, siga estos pasos:

  • Vaya a la configuración de su editor de código y habilite la opción que busca mostrar pestañas y espacios en blanco. Con esta función habilitada, verá pequeños puntos individuales, donde cada punto representa una pestaña/espacio en blanco. Si nota que falta un punto donde no debería estar, es probable que esa línea tenga un error de sangría.
  • Utilice la Guía de sangría integrada del intérprete de Python. Podría decirse que este método es muy ineficaz para varias líneas de código. Sin embargo, dado que lo lleva a través de cada línea y le muestra exactamente dónde se encuentra su error, es la forma más segura de encontrar y corregir todos los errores.

Beneficios de la sangría

La legibilidad y la consistencia son esenciales para cualquier buen código. Siguiendo el espacio en blanco de PEP 8, la ética no debería ser negociable. Justifica lógicamente su código, contribuyendo así a una experiencia de codificación más placentera. Además, si sigue esta pauta estilística en la que la legibilidad es su prioridad de facto, las personas que no conoce, pero que están interesadas en su trabajo, entenderán su código con facilidad.

Desventajas de la sangría

  • Si el código es grande y la sangría está dañada, puede ser tedioso corregir los errores de sangría. Este suele ser el caso cuando se copia un código de una fuente en línea, un documento de Word o un archivo PDF.
  • Los lenguajes de programación populares suelen utilizar llaves para la sangría. Para los programadores que recién comienzan a usar Python, puede ser difícil adaptarse a la idea de usar espacios en blanco para la sangría.

Resumiendo

Todo lo que se encuentra entre usted y un código bien escrito es la sangría, y todo lo que se encuentra entre usted, su código bien escrito y su ejecución perfecta es un error de sangría. Ahora, todos los humanos cometemos errores. Todos los programadores son humanos. Por lo tanto, todos los programadores cometen errores. Pero un error de sangría se puede resolver fácilmente. Todo lo que necesitas hacer es respirar y tomar tu espacio.

Si tiene curiosidad por aprender sobre ciencia de datos, consulte el Programa ejecutivo PG en ciencia de datos de IIIT-B y upGrad, creado para profesionales que trabajan y ofrece más de 10 estudios de casos y proyectos, talleres prácticos, tutoría con expertos de la industria, 1 -on-1 con mentores de la industria, más de 400 horas de aprendizaje y asistencia laboral con las mejores empresas.

Prepárate para una carrera del futuro

SOLICITE MAESTRÍA EN CIENCIAS EN CIENCIA DE DATOS