Operadores Lógicos
Introducción a los Operadores Lógicos
Los operadores lógicos son herramientas fundamentales en Python para combinar y manipular valores Booleanos. Te permiten crear condiciones complejas y controlar el flujo del programa.
Tres Principales Operadores Lógicos
Python proporciona tres operadores lógicos principales:
| Operador |
Símbolo |
Descripción |
| AND |
and |
Devuelve True si ambas condiciones son True |
| OR |
or |
Devuelve True si al menos una condición es True |
| NOT |
not |
Invierte el valor Booleano |
Operador AND
El operador and requiere que todas las condiciones sean True:
## Ejemplos del operador AND
x = 5
y = 10
z = 15
print(x < y and y < z) ## True
print(x > y and y < z) ## False
Operador OR
El operador or devuelve True si al menos una condición es True:
## Ejemplos del operador OR
is_weekend = False
is_holiday = True
print(is_weekend or is_holiday) ## True
print(False or False) ## False
Operador NOT
El operador not invierte el valor Booleano:
## Ejemplos del operador NOT
is_raining = False
print(not is_raining) ## True
is_sunny = True
print(not is_sunny) ## False
Expresiones Lógicas Complejas
Puedes combinar múltiples operadores lógicos:
## Expresiones lógicas complejas
age = 25
has_license = True
is_insured = False
can_drive = age >= 18 and has_license and not is_insured
print(can_drive) ## True
Evaluación Cortocircuito
Python utiliza la evaluación cortocircuito para los operadores lógicos:
## Evaluación cortocircuito
def is_valid_user(username):
return username and len(username) > 3
print(is_valid_user('')) ## False
print(is_valid_user('LabEx')) ## True
Precedencia de los Operadores
graph TD
A[Precedencia de los Operadores Lógicos] --> B[NOT tiene la mayor prioridad]
A --> C[AND tiene prioridad media]
A --> D[OR tiene la menor prioridad]
Mejores Prácticas
- Utiliza paréntesis para aclarar condiciones complejas
- Evita expresiones lógicas demasiado complicadas
- Descompón condiciones complejas en partes más pequeñas y legibles
Ejemplo Práctico
## Uso real de operadores lógicos
def can_register_for_course(age, has_prerequisites, is_enrolled):
return (age >= 18) and has_prerequisites and not is_enrolled
## Lógica de inscripción en el curso de LabEx
print(can_register_for_course(20, True, False)) ## True
print(can_register_for_course(17, True, False)) ## False
Al dominar estos operadores lógicos, podrás crear una lógica condicional más sofisticada y precisa en tus programas de Python.