Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Operadores Lógicos | Booleanos y Comparaciones
Tipos de Datos en Python

Operadores Lógicos

Desliza para mostrar el menú

La gente dice sí y sí, sí o no, definitivamente no. En Python, los operadores lógicos and, or y not expresan estas ideas de forma formal y producen valores booleanos (True/False) que se utilizan con comparaciones en if/while.

Qué significa cada operador

Precedencia

not tiene mayor prioridad que and, que a su vez tiene mayor prioridad que or (not > and > or). Utiliza paréntesis en caso de duda.

Por ejemplo, age >= 18 and has_id es True solo si ambas condiciones se cumplen:

123
age = 21 has_id = True print(age >= 18 and has_id) # True

Tabla de verdad

Una tabla de verdad enumera todos los posibles valores de verdad de las entradas y muestra el resultado de una expresión lógica. Es una forma compacta de razonar sobre la lógica sin ejecutar código.

Uso de la tabla

Si X es False y Y es True, entonces X and Y es False, X or Y es True y not X es True.

Valores de retorno y cortocircuito

and y or no siempre devuelven los valores booleanos True o False. En su lugar, retornan uno de sus operandos, y Python detiene la evaluación anticipadamente (cortocircuita) en el momento en que el resultado final está garantizado.

  • A and B:

  • Si A es falso, el resultado está garantizado como falso, por lo que Python cortocircuita y devuelve A (sin evaluar B).

  • Si A es verdadero, el resultado depende completamente de B, así que Python evalúa y devuelve B.

  • A or B:

  • Si A es verdadero, el resultado está garantizado como verdadero, por lo que Python cortocircuita y devuelve A (sin evaluar B).

  • Si A es falso, el resultado depende completamente de B, así que Python evalúa y devuelve B.

  • not X siempre devuelve un valor booleano real: True o False.

1234567891011121314151617
# Choosing a display name for a user profile username = "" # user didn't set a custom name print(username or "Guest") # "Guest" → fallback to default name username = "Alice" print(username or "Guest") # "Alice" → custom name is used # Checking login attempts and access permissions login_attempts = 0 access_level = 123 print(login_attempts and access_level) # 0 → login not yet attempted login_attempts = 5 print(login_attempts and access_level) # 123 → user has access after attempts # Checking empty and non-empty values print(not 0, not "Hello") # True False → 0 is falsey, non-empty string is truthy

1. Rellena los espacios con True o False. Sea X = True, Y = False.

2. ¿Qué enunciado corresponde a la lógica clásica para "ni X ni Y"?

3. ¿Qué devuelve la expresión?

question-icon

Rellena los espacios con True o False. Sea X = True, Y = False.

X and Y
not X

X or Y

Haz clic o arrastra y suelta elementos y completa los espacios

question mark

¿Qué enunciado corresponde a la lógica clásica para "ni X ni Y"?

Selecciona la respuesta correcta

question mark

¿Qué devuelve la expresión?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 4

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Sección 2. Capítulo 4
some-alt