Los operadores lógicos permiten construir
expresiones booleanas más complejas combinando múltiples condiciones. Estas expresiones se
evalúan como True o False, y son fundamentales al momento de tomar
decisiones en programas que requieren estructuras condicionales como if,
while o for.
En Python, existen tres operadores lógicos principales:
| Operador | Significado |
|---|---|
| and | Devuelve True si ambas condiciones son True. |
| or | Devuelve True si al menos una condición es True. |
| not | Invierte el valor lógico: True se convierte en False y viceversa. |
El operador and evalúa si las dos
condiciones son verdaderas. Solo si ambas lo son, el resultado será
True. Si alguna de ellas es False, el resultado total será
False.
condición1 and condición2
hace_sol = True
es_fin_de_semana = True
# Solo iré a la playa si hace sol y es fin de semana
ir_a_la_playa = hace_sol and es_fin_de_semana
print(ir_a_la_playa) # True
Si una de las condiciones fuera False, no se
cumpliría el plan de ir a la playa.
Devuelve True si al menos una de
las condiciones es verdadera. Solo devuelve False cuando todas
las condiciones son False.
condición1 or condición2
tengo_dinero = False
me_invitan = True
# Iré al cine si tengo dinero o me invitan
ir_al_cine = tengo_dinero or me_invitan
print(ir_al_cine) # True
El operador not invierte el valor lógico de una
expresión. Si la expresión es True, se convierte en False, y
viceversa.
condición1 not condición2
llueve = True
# No saldré si llueve
salir = not llueve
print(salir) # False
También se pueden usar múltiples not seguidos. El
número de veces que se aplique determina si el valor se mantiene o se invierte:
par de veces, el valor
original se conserva.impar de veces, el
valor se invierte.valor = True
print(not not valor) # True
print(not not not valor) # False
Python evalúa los operadores lógicos en el siguiente orden de precedencia (de mayor a menor):
notandorEsto significa que en una expresión sin paréntesis,
not se evalúa primero, luego and, y finalmente or.
resultado = True or False and False
# Primero: False and False → False
# Luego: True or False → True
print(resultado) # True
Usar paréntesis: puede cambiar el orden de evaluación y mejorar la legibilidad:
resultado = (True or False) and False # True and False → False
print(resultado) # False
En Python, no solo se utilizan True y
False para representar valores lógicos. Algunos otros valores también son
tratados como booleanos:
0,
0.0, '' (cadena vacía), [], {},
Noneif 0:
print("Esto no se imprime")
if "Hola":
print("Esto sí se imprime")