Las condiciones son declaraciones que pueden ser verdaderas o falsas y viene definidas por True or False.
Existen diferentes formas de hacer condiciones en Python.
Para montar condiciones vamos a necesitar conocer los siguientes símbolos que usaremos para comparar valores:
Símbolo | Significado |
== | Igual |
!= | Diferente |
< | Menor que |
<= | Menor o igual que |
> | mayor que |
>= | mayor o igual que |
Es importante recordar que para comprobar si dos valores son iguales hay que utilizar == porque si utilizamos solo un = estaremos asignando ese valor a la variable, es decir.
var == 1 comprueba si la variable es igual a 1
var = 1 le asigna el valor 1 a la variable
Declaraciones condicionales
Tenemos If, If … Else y If … Elif … Else. Yo tenía un profesor que nos decía que cualquier cosa se puede programar utilizando muchos If…
Se utilizan para modificar el valor de una función, aquí ya no solo comparamos, sino que además si se cumple o no la condición hacemos algo más.
Te interesará Guía sobre el Sea Glass, otro cristal usado en joyería
If Statement
La forma de declarar una condición If es la siguiente
if dalle == 'yes': image = create_images_dalle (key_main)
If .. Else Statement
Diferentes programadores defienden la desaparición de esta sentencia en favor de diferentes If con sus condiciones
if dalle == 'yes': image = create_images_dalle (key_main) else: image = create_images (key_main)
De esta forma en el ejemplo, si la variable dalle tiene valor ‘yes’ llamará a una función y la guarda en la variable image
Y si no tiene este valor llama a otra función.
If … Elif … Else
Los Elif nos permiten meter más opciones en la condición. Es una especie de switch.
if dalle == 'yes': image = create_images_dalle (key_main) elif dalle == "only_h2": image = create_images_dalle (key_main) else: image = create_images (key_main)
Ante esto, lo mismo comentado antes. Esta estructura se puede escribir utilizando solo If.
Condiciones anidadas
Podemos anidar If dentro de If, o If … else dentro de If o de otro If else, todas las combinaciones que se nos ocurran y que se adapten para conseguir lo que necesitamos.
Para anidar los If, lo que hay que hacer es meterlo tabulado, dentro del que queramos y de esta forma se crea la jerarquía.
if dalle == 'yes': image = create_images_dalle (key_main) if dalle_hx == "only_h2": image_hx = create_images_dalle_h2 (key_main)
Es como un subif, que solo se evaluará si se ha cumplido la condición padre.
En el ejemplo si tenemos la variable dalle como ‘yes’, llamara a la función create_images y guardará el resultado en la variable image.
Luego evaluará el segundo if y si la variable dalle_hx vale ‘only_h2’ entonces llamará a otra función. Pero si dalle hubiera tenido el valor ‘no’ no hubiera evaluado esta segunda condición, algo que sí hace si no están anidadas.
Match, el Switch de Python
Otra forma de trabajar con condiciones es usar Match que busca el caso concreto que cumple con nuestra elección. Sirve para comparar opciones y se suele utilizar es sitios donde tenemos muchos elif.
Su sintaxis
name = input("What's your name? ") match name: case "Harry" | "Hermione" | "Ron": print("Gryffindor") case "Draco": print("Slytherin") case _: print("Who?")