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ón | Evaluado a . . . |
True and True | True |
True and False | False |
False and True | False |
False and False | False |
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ón | Evaluado a. . . |
True or True | True |
True or False | True |
False or True | True |
False or False | False |
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ón | Evaluado a . . . |
not True | False |
not False | True |
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