Las variables lógicas pueden tener tres valores: cierto (True), falso (False) e indefinido (None). Además podemos construir expresiones utilizando los operadores:
and
or
not
Al igual que las operaciones matemáticas, las operaciones lógicas también tiene reglas de precedencia. Por ejemplo, si a = True, b = False y c = True, el resultado de a and not b or c es True pero el de a and not (b or c) es False.
Las operaciones matemáticas que utilizan una variable indefinida (como a / b si b = None) generan un error de ejecución. Sin embargo, algunas expresiones lógicas pueden dar un resultado a pesar de involucrar variables indefinidas. Por ejemplo, si a = True y b = None, la expresión a and b genera un error cuando se ejecuta pero a or b da True. La razón de este resultado es que la evaluación de expresiones lógicas finaliza cuando el resultado ya no depende del resto de la expresión que queda por evaluar. Como veremos, esto es muy útil en algunas ocasiones.
Es posible construir expresiones lógicas también a partir de variables numéricas (incuso de texto) utilizando operadores de comparación:
menor que (<)
mayor que (>)
igual (==)
menor o igual (<=)
mayor o igual (>=)
Por ejemplo a <= b and b < c.