Booleanos en Python: True, False y lógica

Publicado el: 11/07/2026
Tempo de leitura: 3 minutos
Código Python com valores Boolean True e False em tela de computador

Los booleanos en Python representan dos estados: True y False. Son el resultado de comparaciones y controlan condiciones, validaciones, bucles y decisiones. Aunque parecen simples, es importante comprender los valores truthy y falsy, los operadores lógicos, la evaluación de cortocircuito y la diferencia entre igualdad e identidad.

La documentación oficial sobre comprobación del valor de verdad describe qué objetos se consideran falsos. La referencia de operaciones booleanas explica and, or y not.

Crear valores booleanos

activo = True
bloqueado = False

print(type(activo))  # bool

Escribe True y False con mayúscula inicial. Los textos "True" y "False" son strings, no booleanos.

Comparaciones

edad = 21

print(edad >= 18)
print(edad == 21)
print(edad != 30)
print(18 <= edad < 65)

Las comparaciones devuelven booleanos. La guía de operadores en Python explica comparación, identidad, pertenencia y precedencia.

Condiciones con if

usuario_activo = True

if usuario_activo:
    print("Acceso permitido")
else:
    print("Cuenta inactiva")

No es necesario escribir if usuario_activo == True. Usar el booleano directamente resulta más claro.

Operador and

edad = 25
tiene_documento = True

puede_entrar = edad >= 18 and tiene_documento
print(puede_entrar)

and exige que ambas condiciones sean verdaderas.

Operador or

es_admin = False
es_editor = True

puede_publicar = es_admin or es_editor
print(puede_publicar)

or necesita al menos una condición verdadera.

Operador not

sesion_cerrada = False

if not sesion_cerrada:
    print("La sesión sigue activa")

not invierte el valor de verdad.

Valores truthy y falsy

Además de False, se consideran falsos valores como None, cero y colecciones vacías.

valores = [
    False,
    None,
    0,
    0.0,
    "",
    [],
    {},
    set(),
]

for valor in valores:
    print(repr(valor), bool(valor))

La mayoría de los demás objetos son truthy. Esto permite comprobar si una colección tiene elementos:

resultados = [10, 20]

if resultados:
    print("Hay resultados")

None no significa False en todos los casos

resultado = None

if resultado is None:
    print("No existe un resultado todavía")

None, cero y una cadena vacía pueden representar situaciones distintas. La guía de None en Python explica cómo comprobar la ausencia de un valor con is None.

bool() y conversiones

print(bool(1))        # True
print(bool(0))        # False
print(bool("False"))  # True
print(bool(""))       # False

Una cadena no vacía es verdadera aunque contenga la palabra “False”. Para convertir texto del usuario, define reglas explícitas.

def convertir_booleano(texto):
    normalizado = texto.strip().casefold()

    if normalizado in {"sí", "si", "s", "true", "1"}:
        return True

    if normalizado in {"no", "n", "false", "0"}:
        return False

    raise ValueError(f"Valor booleano no válido: {texto!r}")

La guía del operador in en Python explica las pruebas de pertenencia utilizadas.

Evaluación de cortocircuito

Python evalúa solamente lo necesario. En and, si la primera parte es falsa, la segunda no se ejecuta. En or, si la primera es verdadera, la segunda se omite.

usuario = None

if usuario is not None and usuario.get("activo"):
    print("Usuario activo")

La segunda expresión solo se evalúa cuando usuario no es None.

and y or devuelven operandos

nombre = ""
nombre_visible = nombre or "Invitado"
print(nombre_visible)

or devuelve el primer operando truthy o el último evaluado. Este patrón es útil para valores predeterminados, pero puede reemplazar accidentalmente ceros o cadenas vacías válidas.

any() y all()

permisos = [False, True, False]
validaciones = [True, True, True]

print(any(permisos))
print(all(validaciones))
  • any() devuelve verdadero si algún elemento es truthy.
  • all() devuelve verdadero si todos son truthy.

Igualdad e identidad

lista_a = [1, 2]
lista_b = [1, 2]

print(lista_a == lista_b)  # mismos valores
print(lista_a is lista_b)  # objetos diferentes

Usa == para comparar valores. Reserva is para identidad, especialmente is None.

Booleanos en funciones

def puede_comprar(edad, saldo, bloqueado=False):
    return (
        edad >= 18
        and saldo > 0
        and not bloqueado
    )

Una función predicativa debe tener un nombre que sugiera una respuesta verdadera o falsa. La guía de funciones en Python ayuda a organizar estas reglas.

Validar entrada

while True:
    respuesta = input("¿Continuar? [s/n]: ").strip()

    try:
        continuar = convertir_booleano(respuesta)
    except ValueError:
        print("Escribe s o n")
        continue

    break

Para conversiones y reintentos, consulta la guía de input() en Python.

Errores frecuentes

  • Escribir true o false en minúsculas.
  • Creer que bool("False") devuelve falso.
  • Confundir is con ==.
  • Usar if valor cuando cero y ausencia tienen significados diferentes.
  • Crear condiciones largas sin nombres intermedios.
  • Capturar errores de conversión sin informar el valor inválido.

Conclusión

Los booleanos en Python conectan comparaciones con decisiones. Comprende los valores truthy y falsy, usa is None para ausencia, aprovecha el cortocircuito con cuidado y convierte texto mediante reglas explícitas. Una condición clara suele ser más valiosa que una expresión breve pero difícil de interpretar.

Compartilhe:

Facebook
WhatsApp
Twitter
LinkedIn

Contenido del artículo

    Artículos relacionados

    Símbolo de repetição ao lado do logotipo do Python pensativo, representando o conceito de loops na programação em Python.
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Bucles en Python: for, while, break y continue

    Aprende bucles en Python con for, while, range, enumerate, zip, break, continue, else, validación y ejemplos prácticos.

    Ler mais

    Tempo de leitura: 3 minutos
    11/07/2026
    Código Python mostrando uma função recursiva de fatorial com condição if e chamada da função dentro dela
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Recursión en Python: guía práctica con ejemplos

    Aprende recursión en Python con casos base, pila de llamadas, factorial, árboles, directorios, memoización, límites y alternativas iterativas.

    Ler mais

    Tempo de leitura: 3 minutos
    11/07/2026
    Logo do Python com símbolos de lista, tupla e dicionário
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Lista, tupla, set o diccionario en Python: diferencias

    Compara listas, tuplas, sets y diccionarios en Python: orden, mutabilidad, duplicados, acceso, rendimiento y casos de uso.

    Ler mais

    Tempo de leitura: 3 minutos
    11/07/2026
    Uso do operador in em Python para verificação em coleções
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Operador in en Python: pruebas de pertenencia

    Aprende a usar el operador in en Python con strings, listas, sets, diccionarios, rangos, generadores, not in y clases personalizadas.

    Ler mais

    Tempo de leitura: 3 minutos
    11/07/2026
    Introdução ao Python para iniciantes
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    List comprehensions en Python: guía completa

    Aprende list comprehensions en Python con transformaciones, filtros, condiciones, bucles anidados, diccionarios, sets y generadores.

    Ler mais

    Tempo de leitura: 3 minutos
    11/07/2026
    Leitura e escrita de arquivos CSV em Python
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Archivos CSV en Python: leer, escribir y procesar

    Aprende a leer, escribir, filtrar y validar archivos CSV en Python con reader, writer, DictReader, DictWriter, UTF-8 y streaming.

    Ler mais

    Tempo de leitura: 3 minutos
    11/07/2026