Fundamentos · #2 de 11

Operadores + lógica booleana

Comparación, identidad y verdad

Por qué importa

La toma de decisiones y los bucles dependen de los booleanos. Una comparación equivocada lo rompe todo.

La idea

Los operadores transforman expresiones en valores nuevos. == comprueba la igualdad de valores, is comprueba la identidad (el mismo objeto en memoria). Para literales, 1 == 1.0 es True pero 1 is 1.0 es False.

Operadores aritméticos

| Operador | Significado | | --- | --- | | + | sumar | | - | restar | | * | multiplicar | | / | dividir (float) | | // | división entera | | % | resto | | ** | potencia |

/ siempre devuelve un float (6 / 2 == 3.0); usa // cuando quieras un cociente entero. % da el resto: la herramienta de cabecera para "¿es par?" y los problemas de índices cíclicos.

Pruébalo

La veracidad (truthiness) en Python: 0, "", [], {}, None son todos falsos. Todo lo demás es verdadero.

for v in [0, 1, "", "hi", [], [0], None, {}, {"k": 0}]:
  print(repr(v), "->", bool(v))
not loaded

Evaluación de cortocircuito: and devuelve el primer operando falso (o el último valor); or devuelve el primero verdadero.

print(0 or "fallback")   # 'fallback'
print(5 or "fallback")   # 5
print(0 and "blocked")   # 0
print(5 and "passed")    # 'passed'
not loaded

Identidad frente a igualdad: muerde en el código real:

a = [1, 2, 3]
b = [1, 2, 3]
print(a == b)   # True  — same values
print(a is b)   # False — different objects
c = a
print(a is c)   # True  — same object
not loaded

Verificación rápida

Mini ejercicios

Buenas y malas prácticas

Errores comunes

Conclusiones clave