Sangría en Python con ejemplos

Por lo general, es una buena práctica no mezclar pestañas y espacios al codificar en Python. Hacer esto puede causar posiblemente un error TabErrory su programa se bloqueará. Sea coherente cuando codifique: elija sangrar usando tabulaciones o espacios y siga la convención elegida en todo el programa.

Bloques de código y sangría

Una de las características más distintivas de Python es su uso de sangría para marcar bloques de código. Considere la declaración if de nuestro sencillo programa de verificación de contraseñas:

if pwd == 'apple': print('Logging on ...') else: print('Incorrect password.') print('All done!')

Las líneas print ('Iniciar sesión ...') e imprimir ('Contraseña incorrecta.') Son dos bloques de código separados. Estos resultan tener solo una línea de largo, pero Python le permite escribir bloques de código que constan de cualquier número de declaraciones.

Para indicar un bloque de código en Python, debe sangrar cada línea del bloque por la misma cantidad. Los dos bloques de código en nuestro ejemplo if-statement tienen cuatro espacios sangrados, que es una cantidad típica de sangría para Python.

En la mayoría de los otros lenguajes de programación, la sangría se usa solo para ayudar a que el código se vea bonito. Pero en Python, es necesario para indicar a qué bloque de código pertenece una declaración. Por ejemplo, la impresión final ('¡Todo listo!') No tiene sangría, por lo que no es parte del bloque else.

Los programadores familiarizados con otros lenguajes a menudo se irritan ante la idea de que la sangría importa: a muchos programadores les gusta la libertad de formatear su código como les plazca. Sin embargo, las reglas de sangría de Python son bastante simples y la mayoría de los programadores ya usan sangría para hacer que su código sea legible. Python simplemente lleva esta idea un paso más allá y le da significado a la sangría.

If / elif-declaraciones

Una sentencia if / elif es una sentencia if generalizada con más de una condición. Se utiliza para tomar decisiones complejas. Por ejemplo, supongamos que una aerolínea tiene las siguientes tarifas de boletos para "niños": los niños de 2 años o menos vuelan gratis, los niños mayores de 2 pero menores de 13 pagan una tarifa de niño con descuento y cualquier persona de 13 años o más paga una tarifa de adulto normal . El siguiente programa determina cuánto debe pagar un pasajero:

# airfare.py age = int(input('How old are you? ')) if age <= 2: print(' free') elif 2 < age < 13: print(' child fare) else: print('adult fare')

Después de que Python obtiene la edad del usuario, ingresa la declaración if / elif y verifica cada condición una tras otra en el orden en que se dan. Entonces, primero verifica si la edad es menor a 2, y si es así, indica que el vuelo es libre y salta de la condición elif. Si age no es menor de 2, entonces verifica la siguiente condición elif para ver si age está entre 2 y 13. Si es así, imprime el mensaje apropiado y salta de la declaración if / elif. Si ni la condición if ni la condición elif son True, entonces ejecuta el código en el bloque else.

Expresiones condicionales

Python tiene un operador lógico más que a algunos programadores les gusta (¡y otros no!). Es esencialmente una notación abreviada para declaraciones if que se pueden usar directamente dentro de expresiones. Considere este código:

food = input("What's your favorite food? ") reply = 'yuck' if food == 'lamb' else 'yum'

La expresión del lado derecho de = en la segunda línea se llama expresión condicional y se evalúa como 'puaj' o 'yum'. Es equivalente a lo siguiente:

food = input("What's your favorite food? ") if food == 'lamb': reply = 'yuck' else: reply = 'yum'

Las expresiones condicionales suelen ser más cortas que las correspondientes sentencias if / else, aunque no son tan flexibles o fáciles de leer. En general, debería utilizarlos cuando simplifiquen su código.

Documentación de Python: sangría