Los operadores lógicos en Python permiten realizar comparaciones entre valores y expresiones, devolviendo un resultado de tipo booleano: True o False. Se utilizan ampliamente en estructuras de control como if, while y for para la toma de decisiones en los programas.
Python cuenta con tres operadores lógicos principales:
and
(Y lógico)or
(O lógico)not
(Negación lógica)
Contenido
- 1 Operador AND (and): Evaluación de Condiciones Múltiples
- 2 Operador OR (or): Una o Más Condiciones Verdaderas
- 3 Operador NOT (not): Negación Lógica
- 4 Comparaciones con Operadores Relacionales
- 5 Uso de Operadores Lógicos en Condiciones y Bucles
- 6 Operadores de Pertenencia (in, not in)
- 7 Preguntas Frecuentes (FAQ)
- 8 Video
Operador AND (and
): Evaluación de Condiciones Múltiples
El operador and
devuelve True si ambas condiciones en la expresión son verdaderas. Si una de ellas es False, el resultado será False.
Ejemplo:
x = 10
y = 20
resultado = (x > 5) and (y < 30)
print(resultado) # True
En este caso:
x > 5
esTrue
porque 10 es mayor que 5.y < 30
esTrue
porque 20 es menor que 30.- Ambas condiciones son
True
, por lo que el resultado final esTrue
.
Casos en los que and
devuelve False:
resultado = (x > 15) and (y < 30)
print(resultado) # False
Aquí, x > 15
es False
porque 10 no es mayor que 15. Como una de las condiciones es False
, el resultado final es False
.
Operador OR (or
): Una o Más Condiciones Verdaderas
El operador or
devuelve True si al menos una de las condiciones es verdadera. Solo devuelve False si todas las condiciones son falsas.
Ejemplo:
x = 10
y = 20
resultado = (x > 15) or (y < 30)
print(resultado) # True
Aquí:
x > 15
esFalse
porque 10 no es mayor que 15.y < 30
esTrue
porque 20 es menor que 30.- Como al menos una es
True
, el resultado final esTrue
.
Operador NOT (not
): Negación Lógica
El operador not
invierte el valor de una expresión. Si la expresión es True
, not
la convierte en False
, y viceversa.
Ejemplo:
x = 10
resultado = not (x > 5)
print(resultado) # False
Aquí, x > 5
es True
, pero al aplicar not
, se convierte en False
.
Comparaciones con Operadores Relacionales
Los operadores lógicos se pueden combinar con operadores relacionales:
>
(Mayor que)<
(Menor que)>=
(Mayor o igual que)<=
(Menor o igual que)==
(Igual a)!=
(Diferente de)
Ejemplo de combinación:
x = 15
y = 20
resultado = (x != y) and (x < y)
print(resultado) # True
Uso de Operadores Lógicos en Condiciones y Bucles
Los operadores lógicos permiten definir condiciones en estructuras de control.
Ejemplo con if
:
x = 10
y = 5
if (x > 5) and (y < 10):
print("Las condiciones se cumplen")
Salida:
Las condiciones se cumplen
Ejemplo con while
:
contador = 0
while (contador < 5) and (contador != 3):
print(f"Contador: {contador}")
contador += 1
Salida:
Contador: 0
Contador: 1
Contador: 2
Contador: 3
Contador: 4
Operadores de Pertenencia (in
, not in
)
Estos operadores verifican si un valor está presente en una secuencia (listas, tuplas, cadenas, etc.).
Ejemplo:
numeros = [1, 2, 3, 4, 5]
resultado = 3 in numeros
print(resultado) # True
Aquí, 3
está dentro de la lista, por lo que el resultado es True
.
Preguntas Frecuentes (FAQ)
¿Para qué sirven los operadores lógicos en Python?
Los operadores lógicos permiten evaluar condiciones y tomar decisiones en los programas. Son esenciales para estructuras de control como if
, while
y for
.
¿Puedo combinar varios operadores lógicos en una misma expresión?
Sí, puedes combinar and
, or
y not
, pero debes usar paréntesis para evitar ambigüedades.
Ejemplo:
x = 10
y = 20
z = 5
if (x > z) and not (y < x):
print("Condición cumplida")
¿Cuál es la diferencia entre ==
y is
?
==
compara valores.is
compara referencias en memoria.
Ejemplo:
a = [1, 2, 3]
b = [1, 2, 3]
print(a == b) # True
print(a is b) # False
a
y b
tienen el mismo contenido, pero son objetos distintos en memoria.