Curso de Python / Comparar valores y combinar condiciones booleanas
Los operadores de comparación comprueban relaciones entre valores y los operadores lógicos combinan condiciones. En Python, and y or pueden devolver uno de sus operandos en lugar de un booleano; distingue la evaluación de una condición de la elección de un valor predeterminado.
Distinguir igualdad, asignación e identidad
Utiliza == para comparar igualdad, = para asignar y != para comprobar desigualdad. Una comparación encadenada como 0 <= amount <= 10000 incluye ambos extremos. Antes de ordenar o comparar datos externos, comprueba su tipo: una cadena con aspecto numérico no es automáticamente un número.
None representa la ausencia de un valor y normalmente se comprueba con is None. is comprueba identidad de objetos, mientras que == compara igualdad. Dos listas independientes pueden tener el mismo contenido sin ser el mismo objeto.
La referencia de operaciones booleanas explica estas reglas. Las expresiones obtenidas pueden convertirse en rutas de ejecución mediante if, elif y else.
Ejecutar comparaciones y valores predeterminados
Guarda el código completo como conditions.py en UTF-8. Ejecútalo con python conditions.py desde la carpeta de práctica y el entorno virtual seleccionado. En macOS o Ubuntu, utiliza python3 fuera del entorno si esa es la orden de tu instalación.
amount = 8000
category = "food"
print(0 < amount <= 10000)
print(amount > 5000 and category == "food")
print(not category)
print("" or "unknown")
print(0 or 100)
print([] == [], [] is [])
La salida esperada incluye tanto booleanos como valores de texto y números:
True
True
False
unknown
100
True False
Las dos últimas comparaciones de listas muestran la diferencia entre contenido e identidad. Las salidas unknown y 100 muestran que elegir un operando con or no equivale a convertirlo siempre en True o False.
Entender la veracidad y el cortocircuito
Las cadenas y colecciones vacías, el cero y None se consideran falsos en una condición. La cadena no vacía "False" se considera verdadera. Por eso bool("False") no sirve para interpretar directamente una opción textual de configuración.
and no evalúa el operando derecho si el izquierdo es falso. or no lo evalúa si el izquierdo es verdadero. Este comportamiento se denomina evaluación de cortocircuito y permite devolver un operando ya disponible sin ejecutar la otra expresión.
Ni False and check() ni True or check() llaman a check(). Al ejecutar print(False and print("called")) solo se muestra False. No coloques una validación o una escritura obligatoria en una expresión que podría no ejecutarse.
Conservar ceros válidos y comprobar los límites
amount or 100 elige 100 aunque amount sea un cero válido. Si únicamente None debe activar el valor predeterminado, utiliza 100 if amount is None else amount. La brevedad no debe cambiar el significado del dato.
- Prueba 10000 y 10001 para comprobar el extremo incluido de la comparación.
- Asigna una cadena vacía a category y compara el resultado de
not category. - Explica por qué usas
==para contenidos de listas eis Nonepara la ausencia de un valor.
La práctica de resumen de puntuaciones aplica estas decisiones a ceros, límites y entradas inválidas. Una condición que funciona con un valor positivo típico puede comportarse de otra forma con una colección vacía o un dato ausente.




