En Python, el tipo bool se utiliza para representar los valores lógicos de verdad y falsedad. Los objetos bool son instancias de las constantes predefinidas True
y False
.
Los valores booleanos se declaran utilizando las palabras clave True
y False
:
valor_verdadero = True
valor_falso = False
Estos valores son fundamentales para la lógica booleana en la programación y se utilizan en expresiones condicionales y operaciones lógicas.
Operaciones con valores booleanos
Python soporta operaciones lógicas básicas con valores booleanos, como and
, or
y not
:
Operador and
El operador and
devuelve True
si ambos operandos son True
, de lo contrario devuelve False
.
resultado_and = True and False
print(resultado_and) # Salida: False
Operador or
El operador or
devuelve True
si al menos uno de los operandos es True
, de lo contrario devuelve False
.
resultado_or = True or False
print(resultado_or) # Salida: True
Operador not
El operador not
devuelve True
si su operando es False
, y False
si su operando es True
, invirtiendo el valor booleano.
resultado_not = not True
print(resultado_not) # Salida: False
Comparaciones y condiciones
En Python, las expresiones lógicas devuelven valores booleanos. Por ejemplo:
resultado = 10 > 5
print(resultado) # Salida: True
Los valores booleanos se utilizan frecuentemente en comparaciones y condiciones para controlar el flujo del programa:
numero = 10
es_mayor_que_cinco = numero > 5
if es_mayor_que_cinco:
print("El número es mayor que cinco")
else:
print("El número no es mayor que cinco")
Evaluación cortocircuitada
Python utiliza la evaluación cortocircuitada para optimizar las operaciones lógicas.
- En una expresión
and
, si el primer operando esFalse
, el segundo no se evalúa. - En una expresión
or
, si el primer operando esTrue
, el segundo no se evalúa.
# Evaluación cortocircuitada con `and`
resultado = False and funcion_que_no_se_evalua()
# Evaluación cortocircuitada con `or`
resultado = True or funcion_que_no_se_evalua()
Conversión entre tipos
Es posible convertir otros tipos de datos a booleanos utilizando la función bool()
:
# Conversión de números
numero = 42
valor_booleano = bool(numero)
print(valor_booleano) # Salida: True (cualquier número distinto de cero es True)
# Conversión de cadenas vacías
cadena_vacia = ""
valor_booleano = bool(cadena_vacia)
print(valor_booleano) # Salida: False (una cadena vacía es False)