Apuntes sobre Python

La indentación no es estilo: es sintaxis.

Operadores de comparación y lógicos

En la lección anterior vimos que las comparaciones producen booleanos. Aquí veremos todos los operadores disponibles, porque son la base de cualquier condición que escribas.

Operadores de comparación

Comparan dos valores y devuelven True o False:

OperadorSignificadoEjemploResultado
==igual a5 == 5True
!=distinto de5 != 3True
>mayor que7 > 3True
<menor que2 < 1False
>=mayor o igual que5 >= 5True
<=menor o igual que4 <= 3False
>>> edad = 18
>>> edad >= 18
True
>>> edad == 17
False
>>> nombre = "Ana"
>>> nombre == "ana"   # las comparaciones de strings distinguen mayúsculas
False

Nota: No confundas == (comparación) con = (asignación). edad = 18 guarda el valor; edad == 18 pregunta si son iguales. Es uno de los errores más frecuentes al empezar.

Operadores lógicos

Combinan varias comparaciones en una sola expresión:

OperadorDevuelve True cuando...
andlas dos condiciones son verdaderas
oral menos una condición es verdadera
notla condición es falsa (invierte el resultado)
>>> edad = 20
>>> tiene_entrada = True

>>> edad >= 18 and tiene_entrada    # las dos se cumplen
True
>>> edad >= 18 and not tiene_entrada
False

>>> edad < 18 or tiene_entrada      # al menos una se cumple
True
>>> not tiene_entrada
False

Puedes encadenar todo lo que necesites, pero usa paréntesis para dejar clara la intención cuando la expresión se complica:

>>> (edad >= 18 and tiene_entrada) or edad == 0
True

El operador in

El operador in comprueba si un valor está contenido dentro de otro. Con strings, es la forma más legible de buscar una subcadena:

>>> frase = "el café está listo"
>>> "café" in frase
True
>>> "té" in frase
False
>>> "café" not in frase
False

Lo verás constantemente también con listas y diccionarios, que cubriremos más adelante. La forma de leerlo en voz alta es exactamente lo que hace: "¿está 'café' en frase?".

Nota: in distingue mayúsculas y minúsculas, igual que las comparaciones con ==. "Café" in frase devolvería False.

Encadenamiento de comparaciones

Python permite encadenar operadores de comparación de forma natural, como en notación matemática:

>>> edad = 25
>>> 18 <= edad <= 30
True
>>> 18 <= edad <= 30 and edad != 25
False

Esto equivale a edad >= 18 and edad <= 30, pero es más corto y más fácil de leer. Pocos lenguajes permiten esto: en la mayoría tendrías que escribir las dos condiciones con and.

Comparar con None

Para comprobar si una variable es None, la convención en Python es usar is en lugar de ==:

>>> resultado = None
>>> resultado is None
True
>>> resultado is not None
False

is comprueba que dos variables son exactamente el mismo objeto en memoria, no solo que sean iguales. Con None funciona perfectamente porque solo existe un None en todo Python. Verás este patrón constantemente en código real.

En la próxima lección: condicionales: if, elif y else para que el programa tome decisiones.

TOP