Operadores booleanos

Los tres operadores booleanos (and, or, y not) se utilizan para comparar valores booleanos. Al igual que los operadores de comparación, evalúan estas expresiones hasta un valor booleano. Exploremos estos operadores en detalle, empezando por el operador and.

Operadores booleanos binarios

Los operadores and y or siempre toman dos valores booleanos (o expresiones), por lo que se consideran operadores binarios. El operador y evalúa una expresión a True si ambos valores booleanos son True; de lo contrario, se evalúa a False. Introduzca algunas expresiones utilizando and en el intérprete de comandos interactivo para verlo en acción.

>>> True and True
True
>>> True and False
False

Una tabla de verdad muestra todos los resultados posibles de un operador booleano. Tabla de verdad del operador and.

ExpresiónEvaluado a . . .
True and TrueTrue
True and FalseFalse
False and TrueFalse
False and FalseFalse
Tabla de verdad del operador and

Por otro lado, el operador or evalúa una expresión a True si cualquiera de los dos valores booleanos es True. Si ambos son False, se evalúa como False.

>>> False or True
True
>>> False or False
False

Puede ver cada resultado posible del operador or en su tabla de verdad, mostrada en la siguiente tabla.

ExpresiónEvaluado a. . .
True or TrueTrue
True or FalseTrue
False or TrueTrue
False or FalseFalse
Tabla de verdad del operador or

El operador not

A diferencia de and y or, el operador not opera sobre un solo valor booleano (o expresión). Esto lo convierte en un operador unario. El operador not simplemente evalúa el valor booleano opuesto.

>>> not True
   False
➊ >>> not not not not True
   True

Al igual que el uso de dobles negativos en el habla y la escritura, puede anidar el operador not ➊, aunque no hay ninguna razón para hacer esto en los programas reales.

ExpresiónEvaluado a . . .
not TrueFalse
not FalseTrue
Tabla de verdad del operador not

Operadores booleanos y de comparación

Como los operadores de comparación se evalúan a valores booleanos, puedes utilizarlos en expresiones con los operadores booleanos.

Recuerda que los operadores and, or, y not se llaman operadores booleanos porque siempre operan sobre los valores booleanos True y False. Aunque expresiones como 4 < 5 no son valores booleanos, son expresiones que se evalúan a valores booleanos. Pruebe a introducir algunas expresiones booleanas que utilizan operadores de comparación en el shell interactivo.

>>> (4 < 5) and (5 < 6)
True
>>> (4 < 5) and (9 < 6)
False
>>> (1 == 2) or (2 == 2)
True

El ordenador evaluará primero la expresión de la izquierda y luego la de la derecha. Cuando conozca el valor booleano de cada una, evaluará toda la expresión hasta llegar a un unico valor booleano. Puedes pensar en el proceso de evaluación del ordenador para (4 < 5) and (5 < 6) como el siguiente:

También puedes utilizar varios operadores booleanos en una expresión, junto con los operadores de comparación:

>>> 2 + 2 == 4 and not 2 + 2 == 5 and 2 * 2 == 2 + 2
True

Los operadores booleanos tienen un orden de operaciones al igual que los operadores matemáticos. Después de evaluar los operadores matemáticos y de comparación, Python evalúa primero los operadores not, luego los operadores and y después los operadores or. Como se puede ver en el siguiente código.

>>> not False and True or False
True

Deja una respuesta