Saltar al contenido principal

Operadores en Python para principiantes: aritméticos, lógicos y más

Operadores en Python: aritméticos, de comparación, lógicos y de asignación

Aprende qué son y cómo usar los operadores básicos en Python: aritméticos, de comparación, lógicos y de asignación, con ejemplos simples.

Si las variables son los nombres, los operadores son los verbos del código. Sin ellos, no podrías crear un sistema de login, un motor de búsqueda o un filtro de precios.

Operadores Aritméticos​

Los operadores aritméticos te permiten realizar cálculos matemáticos básicos.

OperadorSignificadoEjemploResultado
+Suma10 + 313
-Resta10 - 37
*Multiplicación10 * 330
/División10 / 33.3333
%Módulo10 % 31
**Potenciación10 ** 31000
//División entera10 // 33

Diferencia entre / y //​

Es importante notar la diferencia: / siempre devuelve un número decimal (float), mientras que // redondea hacia abajo al entero más cercano.

Python
print(10 / 3)   # 3.3333333333333335 (float)
print(10 // 3) # 3 (int, descarta el decimal)
print(-10 // 3) # -4 (¡redondea hacia abajo!)

Operadores de Asignación​

Estos operadores se utilizan para asignar un valor a una variable. La mayoría combina una operación aritmética con una asignación en un solo paso.

Asumiendo que empezamos con x = 10:

OperadorEjemploEquivalente aResultado Final de x
=x = 5x = 55
+=x += 3x = x + 313
-=x -= 2x = x - 28
*=x *= 4x = x * 440
/=x /= 2x = x / 25.0
%=x %= 3x = x % 31
//=x //= 3x = x // 33
**=x **= 2x = x ** 2100
Logo DivZone de ad link
Plataforma IAConvierte el código en clientes.Pruébalo gratis

Los bloques de construcción: Operadores de Comparación​

Antes de entrar en la lógica pura, necesitamos comparar datos. Estos operadores siempre devuelven un valor booleano (True o False).

OperadorSignificadoEjemploResultado
==Igual a5 == 5True
!=Distinto de5 != 3True
>Mayor que10 > 20False
<Menor que10 < 20True
>=Mayor o igual18 >= 18True
<=Menor o igual15 <= 10False

Diferencia entre = y ==​

Este es uno de los errores más comunes para principiantes:

  • = es el operador de asignación: x = 5 (le damos el valor 5 a x).
  • == es el operador de comparación: x == 5 (preguntamos si x es igual a 5).

Los 3 Pilares de la Lógica: and, or, not​

Aquí es donde Python brilla por su legibilidad. En otros lenguajes se usa && o ||, pero en Python usamos palabras en inglés, lo que hace que el código se lea como lenguaje natural.

El operador and (Y)​

Devuelve True solo si ambas condiciones son verdaderas. Es un filtro estricto.

Python
edad = 25
tiene_licencia = True

# Para conducir, necesitas ambas cosas
puede_conducir = edad >= 18 and tiene_licencia
print(f"¿Puede conducir?: {puede_conducir}") # True

El operador or (O)​

Devuelve True si al menos una de las condiciones es verdadera. Es un filtro flexible.

Python
es_fin_de_semana = True
esta_de_vacaciones = False

# Descansamos si es finde O si estamos de vacaciones
descanso = es_fin_de_semana or esta_de_vacaciones
print(f"¿Hoy se descansa?: {descanso}") # True

El operador not (NO)​

Invierte el valor booleano: convierte True en False y viceversa.

Python
puerta_cerrada = True

if not puerta_cerrada:
print("La puerta está abierta, puedes pasar")
else:
print("La puerta está cerrada, necesitas la llave")

Tabla de verdad (Truth Table)​

ABA and BA or Bnot A
TrueTrueTrueTrueFalse
TrueFalseFalseTrueFalse
FalseTrueFalseTrueTrue
FalseFalseFalseFalseTrue

Evaluación de Cortocircuito (Short-circuiting)​

Python es inteligente y perezoso (en el buen sentido). Esto optimiza el rendimiento:

  • En un and: Si la primera condición es False, Python ya no mira la segunda, porque sabe que el resultado final será False de todos modos.

  • En un or: Si la primera condición es True, Python ignora la segunda, porque ya sabe que el resultado será True.

Python
# Ejemplo de seguridad
divisor = 0
# Si no fuera por el cortocircuito, esto daría error (división por cero)
# Pero como divisor != 0 es False, Python no evalúa la segunda parte.
resultado = divisor != 0 and (10 / divisor > 1)
print(resultado) # False (sin errores)

Prioridad de los Operadores​

Al igual que en las matemáticas (donde la multiplicación va antes que la suma), en la lógica hay una jerarquía. El orden de evaluación es:

  1. not (Máxima prioridad)

  2. and

  3. or (Mínima prioridad)

Tip Pro: Usa siempre paréntesis para evitar confusiones y hacer que tu código sea legible para otros humanos.

Python
# ¿Qué crees que da esto?
resultado = True or False and False
# Primero evalúa: False and False -> False
# Luego: True or False -> True
print(resultado) # True

# Mucho mejor con paréntesis:
resultado = (True or False) and False # False

Operadores Especiales: is e in​

Python tiene dos operadores lógicos adicionales muy potentes:

  • in: Verifica si un elemento está dentro de una colección (lista, string, etc.).

  • is: Verifica si dos variables apuntan al mismo objeto en memoria (identidad).

Python
frutas = ["manzana", "banana", "uva"]
print("manzana" in frutas) # True
print("pera" in frutas) # False

a = [1, 2, 3]
b = [1, 2, 3]
print(a == b) # True (tienen el mismo contenido)
print(a is b) # False (son dos listas distintas en memoria)

Reto Práctico: "El Guardián del Club"​

Escribe un script que decida si una persona puede entrar a un club VIP. Las reglas son:

  • Debe ser mayor de 18 años.

  • Debe tener una entrada válida O estar en la lista de invitados.

  • No debe estar en la lista negra (banned).

Variables de prueba:

Python
edad = 20
tiene_entrada = False
esta_invitado = True
esta_banned = False

# Tu lógica aquí
# puede_entrar = ...

Solución:

Python
puede_entrar = edad >= 18 and (tiene_entrada or esta_invitado) and not esta_banned
print(f"¿Puede entrar?: {puede_entrar}") # True
Recursos

¿Listo para continuar? Ahora que dominas los operadores, aprende a tomar decisiones con estructuras condicionales en Python.

¿Quieres poner a prueba lo que aprendiste? Usa DivZone AI para generar y probar tus propios ejercicios con operadores.