Pregunta 1¿Cuál de los siguientes es un valor bool válido?
Booleanos y construcción de condiciones
Aprende los booleanos de Python: True / False, comparaciones y operadores lógicos and / or / not para construir condiciones claras.
¿Qué es un booleano (bool)?
Un booleano (bool) es un tipo que solo puede contener dos valores: True y False. Es como Python representa los estados del tipo sí/no o cierto/falso — básicamente, cualquier cosa con dos opciones.
Así como int maneja números y str maneja cadenas, bool es el tipo especializado para valores de verdad.
A diferencia de otros tipos, bool está limitado a exactamente dos valores — True y False. Eso es lo que hace que se lleve tan bien con la asignación, la comparación y las ramas condicionales.
True y False deben comenzar con mayúscula. Si escribes true o TRUE obtendrás un NameError.
Tampoco son cadenas, así que no los envuelvas en comillas como "True" (eso los convierte en str).
# Asignar valores bool
is_animal = True
is_human = False
print(is_animal) # True
print(is_human) # False
print(type(is_animal)) # <class 'bool'>
# Escribir "True" lo convierte en str (algo distinto)
looks_bool = "True"
print(type(looks_bool)) # <class 'str'>
Las comparaciones producen booleanos
No solo obtienes booleanos escribiendo True / False — los operadores de comparación también los producen.
Python tiene seis operadores de comparación, y cada uno siempre devuelve True o False (es decir, un bool).
| Operador | Significado | Ejemplo | Resultado |
|---|---|---|---|
| == | igual a | 5 == 5 | True |
| != | distinto de | 5 != 3 | True |
| > | mayor que | 5 > 3 | True |
| < | menor que | 5 < 3 | False |
| >= | mayor o igual | 5 >= 5 | True |
| <= | menor o igual | 5 <= 3 | False |
Cuando se evalúa una expresión, devuelve True o False. También puedes guardar ese resultado en una variable y reutilizarlo.
age = 20
print(age == 20) # True (igual)
print(age != 18) # True (distinto)
print(age >= 18) # True (>=)
print(age < 18) # False (<)
# Puedes guardar el resultado en una variable
is_adult = age >= 18
print(is_adult) # True
print(type(is_adult)) # <class 'bool'>
# Las cadenas también se comparan (== y != son las más útiles)
print("apple" == "apple") # True
print("apple" == "Apple") # False (distingue mayúsculas)
= y == son distintos
= (un solo igual) es asignación, y == (doble igual) es comparación. age = 20 significa «guardar 20 en age», mientras que age == 20 pregunta «¿es age igual a 20?». Confundirlos es una forma fácil de introducir un bug difícil de detectar, así que mantenlos bien separados.
Usar booleanos en instrucciones if
El lugar donde más vas a encontrar booleanos es la instrucción if (una ramificación condicional). El bloque de dentro se ejecuta solo cuando la expresión después de if vale True.
Cubriremos if con más profundidad después — por ahora, basta con sentir cómo un bool cambia el comportamiento.
Termina la línea if con dos puntos :, y escribe el cuerpo con una indentación de 4 espacios. Esa indentación es lo que le dice a Python qué líneas pertenecen al if.
is_animal = True
# Se ejecuta porque is_animal es True
if is_animal:
print("Es un animal")
# Se omite porque is_human es False — no imprime nada
is_human = False
if is_human:
print("Es un humano")
# Puedes poner una comparación directamente en el if
age = 20
if age >= 18:
print("Adulto")
Operadores lógicos: and / or / not
Cuando quieras combinar varias condiciones, recurre a los operadores lógicos and / or / not.
Toman booleanos como entrada y devuelven booleanos — corresponden a las palabras en inglés «and» (y), «or» (o) y «not» (no).
and es True solo cuando ambos lados son True.
or es True cuando alguno de los lados es True.
not invierte True y False.
Tabla de verdad
El resultado de and y or está totalmente determinado por los booleanos izquierdo y derecho. Ayuda pensarlos como intersección (and) y unión (or).
| A | B | A and B | A or B |
|---|---|---|---|
| True | True | True | True |
| True | False | False | True |
| False | True | False | True |
| False | False | False | False |
is_man = True
is_adult = True
# and: True solo cuando ambos son True
if is_man and is_adult:
print("Hombre adulto")
# or: True cuando al menos uno es True
if is_man or is_adult:
print("Hombre o adulto")
# not: invierte el valor
is_child = not is_adult
print(is_child) # False
# Combinar con comparaciones
age = 25
if age >= 18 and age < 65:
print("Adulto en edad laboral")
No escribas &&, ||, !
Algunos otros lenguajes usan &&, || y !, pero Python siempre usa and, or y not (las palabras en inglés). Escribir && te dará un SyntaxError.
En este artículo aprendiste sobre el tipo booleano (bool) y cómo usarlo. Viste que bool solo contiene dos valores, que las comparaciones producen booleanos, que las instrucciones if te permiten ramificar con ellos, y que and / or / not te permiten combinar condiciones — la base de toda condición que escribas.
A continuación, veremos los números más a fondo con los tipos int y float.
Verificación de conocimientos
Responde cada pregunta una a una.
Pregunta 2¿Qué imprime este código?x = 10
print(x == 10 and x < 5)
Pregunta 3¿Qué imprime este código?is_open = False
print(not is_open)