Operadores en Python: guía completa con ejemplos

Actualizado el: 11/07/2026
Tempo de leitura: 4 minutos
texto 'operadores em Python' com os simbolos de operadores e o logo do Python à direita

Los operadores son símbolos y palabras que permiten calcular, comparar, asignar y combinar valores. Aunque parecen simples, muchos errores de lógica nacen de la precedencia, de comparaciones encadenadas mal entendidas o de confundir igualdad con identidad. Esta guía reúne los operadores más importantes con ejemplos prácticos y criterios de legibilidad.

Para ampliar el aprendizaje, consulta las guías sobre booleanos, enteros, floats, sets y operador ternario. Como fuentes externas, revisa la referencia oficial de expresiones y la documentación oficial de tipos integrados.

Operadores aritméticos

a = 17
b = 5

print(a + b)   # suma
print(a - b)   # resta
print(a * b)   # multiplicación
print(a / b)   # división real
print(a // b)  # división entera
print(a % b)   # resto
print(a ** b)  # potencia

/ devuelve una división real, mientras que // aplica división de piso. Con números negativos, el resultado puede sorprender porque se redondea hacia menos infinito.

Resto y ciclos

El operador módulo es útil para detectar pares, envolver índices y trabajar con periodos.

if numero % 2 == 0:
    print("Es par")

indice_siguiente = (indice_actual + 1) % cantidad

Antes de usar módulo, considera el comportamiento con valores negativos y divisor cero.

Operadores de comparación

edad = 20

print(edad == 20)
print(edad != 18)
print(edad > 17)
print(edad <= 65)

Las comparaciones producen booleanos. Evita comparar números flotantes con igualdad exacta cuando proceden de cálculos; utiliza tolerancias apropiadas.

Comparaciones encadenadas

if 0 <= temperatura <= 100:
    print("Dentro del intervalo")

Python evalúa esta expresión de forma similar a dos comparaciones unidas por and, sin evaluar dos veces el valor central. Es más clara que repetir la variable.

Operadores lógicos

tiene_permiso = True
cuenta_activa = True

if tiene_permiso and cuenta_activa:
    print("Acceso permitido")

if es_admin or es_editor:
    print("Puede publicar")

if not bloqueado:
    print("Usuario disponible")

and y or devuelven uno de sus operandos, no necesariamente un booleano. Esto permite valores predeterminados, pero también puede ocultar diferencias entre cero, cadena vacía y None.

Cortocircuito

if usuario is not None and usuario.activo:
    procesar(usuario)

La segunda condición solo se evalúa si la primera es verdadera. Ordena las comprobaciones para evitar errores y no uses efectos secundarios que dependan de una evaluación incierta.

Asignación simple y aumentada

total = 10
total += 5
total *= 2

La asignación aumentada puede modificar objetos mutables en el mismo lugar. Con listas, += suele extender la lista existente, mientras que lista = lista + otra crea una nueva. Esto importa cuando varias variables apuntan al mismo objeto.

Operadores de pertenencia

permitidos = {"pdf", "csv", "json"}

if extension in permitidos:
    print("Formato permitido")

if clave not in configuracion:
    print("Falta la clave")

La pertenencia en sets y diccionarios suele ser eficiente. En un diccionario, in comprueba claves, no valores.

Igualdad frente a identidad

a = [1, 2]
b = [1, 2]

print(a == b)  # mismo contenido
print(a is b)  # objetos distintos

Usa == para comparar valores y is para identidad. La comparación recomendada con None es valor is None.

Operadores bit a bit

lectura = 0b1010
escritura = 0b0100
permisos = lectura | escritura

if permisos & lectura:
    print("Puede leer")

&, |, ^, ~, << y >> operan sobre bits. Son útiles para banderas y protocolos, pero no deben reemplazar estructuras legibles cuando no aportan una ventaja real.

Operadores con sets

a = {"python", "sql"}
b = {"python", "git"}

print(a | b)  # unión
print(a & b)  # intersección
print(a - b)  # diferencia
print(a ^ b)  # diferencia simétrica

Los mismos símbolos pueden tener significados distintos según el tipo. Lee el contexto antes de interpretar una expresión.

Precedencia

La multiplicación se evalúa antes que la suma y las comparaciones antes que algunos operadores lógicos. Aunque conozcas las reglas, utiliza paréntesis cuando expresen mejor la intención.

resultado = (precio * cantidad) - descuento
valido = activo and (es_admin or es_propietario)

Los paréntesis redundantes pero claros son preferibles a una expresión que obliga al lector a memorizar una tabla.

Expresión condicional

estado = "adulto" if edad >= 18 else "menor"

Úsala para una decisión sencilla. Las expresiones anidadas reducen la legibilidad y deberían convertirse en if normal o una función.

Operador walrus

while (linea := archivo.readline()):
    procesar(linea)

:= asigna y devuelve un valor dentro de una expresión. Evita repetir cálculos, pero úsalo solo cuando la condición siga siendo fácil de leer.

Sobrecarga de operadores

Las clases pueden implementar métodos especiales como __add__ o __eq__. La operación debe conservar un significado intuitivo. No hagas que sumar dos objetos elimine datos o realice una acción remota inesperada.

Pruebas y errores frecuentes

Prueba límites, valores negativos, cero, None y colecciones vacías. Los errores comunes incluyen usar is para strings, olvidar la precedencia, dividir por cero, comparar floats exactamente y escribir condiciones como if x == 1 or 2, que siempre resulta verdadera. La forma correcta es if x in {1, 2}.

Elegir claridad sobre brevedad

Una expresión compacta no siempre es mejor. Cuando una condición combina más de dos ideas, asigna nombres intermedios como puede_editar o dentro_del_horario. Esos nombres documentan la regla y facilitan pruebas unitarias. La optimización prematura de unas pocas operaciones rara vez compensa una condición difícil de mantener.

Conclusión

Dominar operadores significa comprender no solo el símbolo, sino también el tipo, la precedencia y el valor devuelto. Prefiere expresiones cortas, paréntesis claros y comparaciones explícitas. Usa identidad para None, sets para pertenencia y pruebas de borde para confirmar que la lógica se comporta correctamente.

Compartilhe:

Facebook
WhatsApp
Twitter
LinkedIn

Contenido del artículo

    Artículos relacionados

    Ilustração que representa um algoritmo
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Qué es un algoritmo en programación: guía con Python

    Entiende qué es un algoritmo, cómo describirlo con pseudocódigo, analizar su complejidad y convertirlo en funciones Python comprobables.

    Ler mais

    Tempo de leitura: 5 minutos
    11/07/2026
    Leitura e escrita de arquivos CSV em Python
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Archivos CSV en Python: leer, escribir y procesar datos

    Aprende a leer, escribir, validar y transformar CSV en Python con csv, DictReader, DictWriter, UTF-8, streaming y protección contra errores.

    Ler mais

    Tempo de leitura: 4 minutos
    11/07/2026
    Programador resolvendo problemas com Python
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Lógica de programación con Python para principiantes

    Aprende lógica de programación con Python mediante algoritmos, pseudocódigo, condiciones, bucles, funciones, validación y pruebas.

    Ler mais

    Tempo de leitura: 4 minutos
    11/07/2026
    Ilustração representando conjuntos (sets) em Python
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Sets en Python: guía completa de conjuntos

    Aprende sets en Python: unicidad, pertenencia, unión, intersección, diferencias, frozenset, rendimiento y errores comunes.

    Ler mais

    Tempo de leitura: 4 minutos
    11/07/2026
    Símbolo de repetição ao lado do logotipo do Python pensativo, representando o conceito de loops na programação em Python.
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Bucles en Python: for y while explicados con ejemplos

    Aprende bucles for y while en Python con range, enumerate, zip, break, continue, else, comprensiones, generadores y ejemplos prácticos.

    Ler mais

    Tempo de leitura: 5 minutos
    11/07/2026
    ícone de loop com o texto 'While' abaixo
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Bucles while en Python: guía práctica para principiantes

    Aprende bucles while en Python con condiciones, validación, menús, break, continue, else, centinelas, reintentos y buenas prácticas.

    Ler mais

    Tempo de leitura: 5 minutos
    11/07/2026