Tipos booleanos

En esta lección se tratan los tipos de datos lógicos, también llamados boobleanos.

¡Atención!Los ejemplos de esta lección muestran el resultado de ejecutar las operaciones en el prompt de IDLE.

Tipos booleanos: True y False

Una variable booleana es una variable que sólo puede tomar dos posibles valores: True (verdadero) o False (falso).

En Python cualquier variable (en general, cualquier objeto) puede considerarse como una variable booleana. En general los elementos nulos o vacíos se consideran False y el resto se consideran True.

Para comprobar si un elemento se considera True o False, se puede convertir a su valor booleano mediante la función bool().

>>> bool(0)
False
>>> bool(0.0)
False
>>> bool("")
False
>>> bool(None)
False
>>> bool(())
False
>>> bool([])
False
>>> bool({})
False
>>> bool(25)
True
>>> bool(-9.5)
True
>>> bool("abc")
True
>>> bool((1, 2, 3))
True
>>> bool([27, "octubre", 1997])
True
>>> bool({27, "octubre", 1997})
True

Operadores lógicos

Los operadores lógicos son unas operaciones que trabajan con valores booleanos.

Expresiones compuestas

Si no se está acostumbrado a evaluar expresiones lógicas compuestas, se recomienda utilizar paréntesis para asegurar el orden de las operaciones.

Al componer expresiones más complejas hay que tener en cuenta que Python evalúa primero los not, luego los and y por último los or, como puede comprobarse en los ejemplos siguientes:


Si en las expresiones lógicas se utilizan valores distintos de True o False, Python utiliza esos valores en vez de True o False.

>>> 3 or 4
3

Si se quieren mostrar valores booleanos, se puede convertir el resultado a un valor booleano:

>>> 3 or 4
3
>>> bool(3 or 4)     # Verdadero porque 3 es diferente de 0
True

Nota: No suele ser muy habitual tener que utilizar este tipo de expresiones. En la lección Detalles de Python se comenta con más detalle cómo Python elige la respuesta a estas expresiones.

Comparaciones

Las comparaciones también dan como resultado valores booleanos:

Es importante señalar que en matemáticas el signo igual se utiliza tanto en las asignaciones como en las comparaciones, mientras que en Python (y en otros muchos lenguajes de programación):

Cuando se aprende a programar es habitual confundir una cosa con la otra (el error más frecuente es escribir una sola igualdad en las comparaciones), por lo que se recomienda prestar atención a este detalle.


Pyhon permite encadenar varias comparaciones y el resultado será verdadero si y sólo si todas las comparaciones lo son.

>>> 4 == 3 + 1 > 2
True
>>> 2 != 1 + 1 > 0
False

Encadenar comparaciones no está permitido en otros lenguajes como PHP, en los que las comparaciones deben combinarse mediante operadores lógicos and, lo que también puede hacerse en Python:

>>> 4 == 3 + 1  and 3 + 1 > 2
True
>>> 2 != 1 + 1 and 1 + 1 > 0
False