目次
1. Conceptos básicos del operador or
en Python
¿Qué es el operador or
?
El operador or
es uno de los operadores lógicos de Python. Devuelve True
si al menos una de las dos condiciones es True
. Solo devuelve False
cuando ambas condiciones son False
. Este operador se utiliza para combinar múltiples condiciones y permite escribir estructuras condicionales más simples.Uso básico
El operadoror
se utiliza de la siguiente manera: se combinan dos condiciones con or
, y si al menos una es True
, el resultado total será True
.a = 5
b = 10
if a > 3 or b < 5:
print("Al menos una de las condiciones es verdadera")
else:
print("Ambas condiciones son falsas")
En este ejemplo, a > 3
es True
y b < 5
es False
. Sin embargo, como se usa el operador or
, basta con que una condición sea True
para que el resultado global también sea True
.Características del operador or
El operador or
posee una característica llamada evaluación corta (short-circuit). Esto significa que si la condición de la izquierda es True
, la condición de la derecha no se evalúa. Esto puede ser útil para optimizar recursos de cálculo. Por ejemplo, en el siguiente código, la segunda condición b == 10
no se evalúa porque la primera ya es True
:a = 5
b = 10
if a > 3 or b == 10:
print("a es mayor que 3, la evaluación termina aquí")

2. Uso del operador or
con sentencias if
Aplicación con múltiples condiciones
En las sentenciasif
de Python, el operador or
es muy útil al evaluar varias condiciones. Si alguna se cumple, se puede ejecutar un bloque de código de forma sencilla. Ejemplo con la edad de un usuario:age = 16
if age < 18 or age > 65:
print("Aplica descuento")
else:
print("No aplica descuento")
En este caso, los usuarios menores de 18 años o mayores de 65 reciben un descuento. El operador or
simplifica la lógica.Combinación de varias condiciones
Incluso con condiciones más complejas,or
ayuda a simplificar el código. Ejemplo:temperature = 35
humidity = 70
if temperature > 30 or humidity > 60:
print("Enciende el aire acondicionado")
else:
print("No es necesario encenderlo")
Aquí, si la temperatura supera 30 grados o la humedad 60%, se recomienda encender el aire acondicionado.
3. Aplicaciones del operador or
Uso fuera de if
El operadoror
también es muy útil fuera de las sentencias if
, por ejemplo al asignar valores por defecto. Permite verificar si un objeto como una lista o diccionario es None
o está vacío, y asignar un valor alternativo.def get_list(l=None):
l = l or []
return l
print(get_list()) # Resultado: []
print(get_list([1, 2, 3])) # Resultado: [1, 2, 3]
En este caso, si la lista es None
, se devuelve una lista vacía.Uso con múltiples or
Es posible encadenar más de dos condiciones con or
. Estas se evalúan de izquierda a derecha hasta encontrar la primera True
.result = None or "default" or "another"
print(result) # Resultado: default
Aquí, como None
se evalúa como False
, se devuelve la primera cadena válida: «default».4. Diferencias entre and
y or
Diferencia fundamental
Tantoand
como or
son operadores lógicos, pero su funcionamiento es distinto. El operador or
devuelve True
si al menos una condición es verdadera, mientras que and
solo devuelve True
si ambas condiciones lo son. Ejemplo:a = True
b = False
if a and b:
print("Ambas son verdaderas")
else:
print("Alguna o ambas son falsas")
Aquí, aunque a
sea True
, b
es False
, por lo que el resultado es False
y se ejecuta el bloque else
. A diferencia de or
, el operador and
exige que ambas condiciones sean verdaderas.Ejemplo con múltiples condiciones
Cuando se combinanand
y or
, es recomendable usar paréntesis para aclarar la lógica.temperature = 25
weather = "rainy"
if (temperature > 20 and temperature < 30) or weather == "rainy":
print("Lleva un paraguas")
else:
print("No es necesario paraguas")
Aquí se cumple la condición de rango de temperatura o la de clima lluvioso, por lo que se recomienda llevar paraguas.
5. Optimización de rendimiento con or
Mejora mediante evaluación corta
Una de las mayores ventajas deor
es la evaluación corta: si la condición izquierda es True
, la derecha no se evalúa. Esto evita cálculos innecesarios y acelera el programa. Ejemplo:def can_edit():
return True
def can_publish():
print("Esta función no se ejecuta")
return True
if can_edit() or can_publish():
print("Se puede editar o publicar")
Como can_edit()
devuelve True
, can_publish()
nunca se llama, evitando trabajo extra.Uso práctico
En contextos con grandes volúmenes de datos o múltiples condiciones, aprovechar la evaluación corta conor
puede reducir significativamente los tiempos de ejecución.
6. Conclusión
Resumen del operador or
El operador or
es esencial en Python para manejar condiciones lógicas. Permite devolver True
si al menos una condición lo es, simplificar la lógica de control y asignar valores por defecto. Además, gracias a la evaluación corta, ayuda a optimizar el rendimiento.Prueba en código real
Se recomienda experimentar en un entorno de desarrollo Python, probando desde ejemplos básicos hasta casos más avanzados. Observar cómo funcionaor
en diferentes escenarios ayuda a entender mejor la lógica condicional y a escribir código más eficiente.