Toda aplicación moderna o programa necesita en algún momento tomar decisiones basadas en valores específicos o el resultado de una función, a esto lo llamamos sentencias condicionales, y como su nombre sugiere, evalúan una condición y actúan según el valor, que puede ser true
o false
. ¿Bastante simple, verdad? Bueno… Las cosas pueden complicarse rápidamente si no prestamos atención.
La Sentencia IF
La sentencia condicional más simple que podemos usar es la sentencia if
, que ejecutará una instrucción (o conjunto de instrucciones) si la condición que aplicamos resulta ser verdadera. Veamos un par de ejemplos.
En los ejemplos anteriores podemos ver que Python está evaluando una expresión y actuando en consecuencia, pero también podemos ver una expresión que no ejecutará ningún código ni imprimirá ninguna línea, ¿por qué es eso? Es simple, es porque el resultado de esa condición es falso, lo que significa que el código definido en el bloque if
no se ejecutará a menos que esa condición sea verdadera.
Veamos otro ejemplo, en este caso pediremos al usuario que ingrese su edad e imprimiremos si es mayor de edad o no.
Eso fue bastante directo, pero también podemos usar la sentencia else
en el mismo bloque if
para hacer algo más en caso de que la expresión resulte ser falsa, de esa manera podemos evitar crear sentencias if
para cada condición que queremos evaluar.
El código anterior hace lo mismo que el anterior, pero nota que usamos solo un bloque if
en lugar de dos, esto hace que nuestro código se ejecute más rápido, aunque sea por nanosegundos, pero cuando se programan aplicaciones grandes y complejas, cada nanosegundo cuenta.
Además de las estructuras if/else
que vemos arriba, también podemos usar la sentencia elif
para evaluar múltiples condiciones, sin embargo, si esto es efectivo/óptimo o no depende de la lógica de tu aplicación y la forma en que quieras programar, siempre habrá formas más optimizadas de hacer las cosas.
Cuando escribimos una condición, debemos tener en mente que lo que estamos evaluando es una expresión booleana, una operación lógica básicamente, y como tal podemos hacer uso de lo que llamamos operadores booleanos, que son palabras reservadas que le indican a Python que queremos hacer una operación lógica. Los operadores booleanos que podemos usar en Python (en orden de prioridad) son:
- or
- and
- not
Si dos o más operadores están en la misma condición, entonces se evaluarán en ese orden.
También podemos verificar una “condición especial” para determinar si una variable tiene un valor o no, podemos usar la forma if variable
/if not variable
o la forma if variable is not None
, entre otras.