En Python, una condicional es una sentencia compuesta que permite ejecutar bloques de código en función del cumplimiento de determinadas condiciones.
Python te permite crear varios tipos de sentencias condicionales. En este tutorial, aprenderás lo básico sobre cómo funcionan y cómo crear condicionales en Python.
Condiciones
Una condición es una expresión que evalúa si algo es verdadero (True
) o falso (False
). Las condiciones se emplean para controlar el flujo de un programa, permitiendo ejecutar diferentes bloques de código según el resultado obtenido al evaluarlas.
En Python, puedes crear varios tipos de condiciones. Por ejemplo, las siguientes condiciones comparan valores numéricos:
>>> 5 > 3
True
>>> 5 < 3
False
>>> 2 == 2
True
>>> 2 != 2
False
Las condiciones más comunes usan operadores de comparación como ==
, !=
, >
, <
, >=
, y <=
. En estos casos, siempre obtendrás un valor booleano (True
o False
).
Las expresiones de pertenencia también son empleadas como condiciones:
>>> 3 in [1, 2, 3]
True
>>> 5 in [1, 2, 3]
False
>>> "banana" in ["manzana", "banana", "cereza"]
True
>>> "naranja" in ["manzana", "banana", "cereza"]
False
Estas expresiones permiten determinar si un valor u objeto específico forma parte de una serie de valores o colección.
También puedes crear condiciones empleando los operadores lógicos and
, or
, y not
:
>>> 5 > 2 and 1 == 1
True
>>> 5 > 2 or 1 < 1
True
>>> not 5 > 2
False
En el primer ejemplo, utilizas el operador and
para combinar dos expresiones de comparación. Si ambas son verdaderas, obtienes True
. En el segundo ejemplo, empleas el operador or
. En este caso, si al menos una de las expresiones evaluadas es verdadera, entonces obtienes True
. Finalmente, el operador not
te permite negar el resultado de evaluar una expresión o condición.
Finalmente, también es posible emplear valores y objetos individuales como condiciones. Esto es posible porque todos los objetos en Python tienen un valor de verdad inherente.
Python emplea las siguientes reglas para determinar el valor de verdad de los objetos:
Por defecto, un objeto se considera verdadero a menos que su clase defina un método
.__bool__()
que devuelvaFalse
o un método.__len__()
que devuelva cero cuando se llama con el objeto. A continuación, se muestran la mayoría de los objetos incorporados considerados como falsos:
- Constantes definidas como falsas:
None
yFalse
- Cero en cualquiera de los diferentes tipos numéricos:
0
,0.0
,0j
,Decimal(0)
,Fraction(0, 1)
- Cualquier colección o secuencia vacía:
''
,()
,[]
,{}
,set()
,range(0)
(Fuente)
Condicionales simples con if
El condicional if
permite ejecutar un bloque de código solo si una condición es verdadera. Su sintaxis es la siguiente:
if condition:
<code block>
El bloque de código se ejecuta únicamente si la condición es verdadera. Considera el siguiente ejemplo:
>>> x = 10
>>> if x > 5:
... print("x es mayor que 5")
...
x es mayor que 5
>>> if x == 5:
... print("x es igual a 5")
...
La primera condición es verdadera, por lo tanto la función print()
se ejecuta. Si la condición es falsa, el código dentro del bloque if
no se ejecuta, tal y como sucede en el segundo ejemplo.
Como ya sabes, todos los objetos en Python tienen un valor de verdad y por lo tanto los puedes emplear como condiciones en una sentencia condicional. Un ejemplo común es verificar si una lista contiene algún valor:
>>> if [1, 2, 3]:
... print("la lista no está vacía")
...
la lista no está vacía
>>> if []:
... print("la lista no está vacía")
...
En el primer ejemplo, la lista contiene valores y por lo tanto su valor de verdad es True
. En este caso, el bloque de código se ejecuta. En el segundo ejemplo, la lista está vacía y su valor de verdad es False
. Por esta razón, el bloque de código no se ejecuta.
Condicionales con cláusula else
La cláusula else
te permite manejar el caso en que la condición del if
es falsa. La sintaxis es la siguiente:
if condition:
<if block>
else:
<else block>
El bloque bajo la cláusula else
se ejecuta si la condición es falsa:
>>> x = 3
>>> if x > 5:
... print("x es mayor que 5")
... else:
... print("x no es mayor que 5")
...
x no es mayor que 5
El bloque else
es opcional y solo se ejecuta si la condición en el if
no se cumple.
Condicionales múltiples con elif
Cuando necesitas evaluar más de una condición, puedes usar la cláusula elif
(abreviatura de else if
). Esta permite verificar varias condiciones una detrás de otra. La sintaxis es como sigue:
if condition_1:
<block 1>
elif condition_2:
<block 2>
elif condition_3:
<block 3>
...
elif condition_N:
<block N>
else:
<else block>
Puedes tener cualquier número de cláusulas elif
, pero solo un if
que es requerido y un else
que es opcional. Python evalúa las condiciones en orden. Una vez que encuentra una condición verdadera, el bloque correspondiente se ejecuta y los bloques restantes se ignoran. Si ninguna condición resulta verdadera, el bloque else
(si existe) se ejecuta.
Considera el ejemplo a continuación:
>>> x = 10
>>> if x > 15:
... print("x es mayor que 15")
... elif x > 5:
... print("x es mayor que 5 pero no mayor que 15")
... else:
... print("x es 5 o menos")
...
x es mayor que 5 pero no mayor que 15
En este ejemplo, Python comienza evaluando la condición x > 15
la cual resulta falsa. Luego evalúa la siguiente condición x > 5
en la cláusula elif
. Como esta condición es verdadera, el bloque se ejecuta y la cláusula else
se ignora.
Conclusiones
Has aprendido a escribir sentencias condicionales en Python empleando las palabras clave if
, else
, y elif
. Las sentencias condicionales te permiten controlar el flujo de ejecución de un programa en función del cumplimiento de ciertas condiciones.
Comprender y utilizar correctamente las condicionales es fundamental para cualquier desarrollador de Python, pues ellas te permiten tomar decisiones en tiempo de ejecución. Esto es esencial para desarrollar aplicaciones que respondan adecuadamente a diferentes escenarios.
Ahora que sabes lo básico de las condicionales en Python, puedes aplicarlas para crear programas más complejos, y desarrollar aplicaciones que requieran lógica de decisión.