Python operador or: guía completa con ejemplos prácticos

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 operador or 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 sentencias if 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.
RUNTEQ(ランテック)|超実戦型エンジニア育成スクール

3. Aplicaciones del operador or

Uso fuera de if

El operador or 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

Tanto and 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 combinan and 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 de or 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 con or 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 funciona or en diferentes escenarios ayuda a entender mejor la lógica condicional y a escribir código más eficiente.