Skip to content

Errores comunes con funciones en Python (y cómo evitarlos)

Ben Kemp | Python/SQL/PowerBI/Excel Tutorials edited this page Jan 13, 2026 · 1 revision

Errores comunes con funciones en Python (y cómo evitarlos)

Las funciones ayudan a estructurar y reutilizar código, pero también son una fuente común de errores, especialmente con argumentos, retornos y variables.

Esta página recoge errores reales, explica por qué ocurren y muestra cómo evitarlos correctamente.


Error 1: Olvidar usar return

def sumar(a, b):
    a + b

resultado = sumar(2, 3)
print(resultado)

Salida:

None

❌ La función no devuelve nada.

Cómo evitarlo:

def sumar(a, b):
    return a + b

Error 2: Confundir print() con return

def sumar(a, b):
    print(a + b)

resultado = sumar(2, 3)
print(resultado)

Salida:

5
None

❌ print() muestra, pero no devuelve.

Cómo evitarlo:

def sumar(a, b):
    return a + b

Error 3: Usar variables globales innecesariamente

total = 0

def sumar(a):
    global total
    total += a

⚠ Difícil de mantener y propenso a errores.

Cómo evitarlo:

def sumar(total, a):
    return total + a

Error 4: Modificar argumentos mutables sin querer

def agregar(valor, lista=[]):
    lista.append(valor)
    return lista

print(agregar(1))
print(agregar(2))

Salida:

[1]
[1, 2]

❌ La lista se comparte entre llamadas.

Cómo evitarlo:

def agregar(valor, lista=None):
    if lista is None:
        lista = []
    lista.append(valor)
    return lista

Error 5: No validar argumentos de entrada

def dividir(a, b):
    return a / b

print(dividir(10, 0))

Salida:

ZeroDivisionError

Cómo evitarlo:

def dividir(a, b):
    if b == 0:
        return None
    return a / b

Error 6: Demasiados argumentos en una función

def crear_usuario(nombre, edad, email, ciudad, pais):
    pass

⚠ Difícil de usar y mantener.

Cómo evitarlo:

def crear_usuario(datos):
    pass

O usar **kwargs.

Error 7: Funciones que hacen demasiadas cosas

def procesar():
    # valida
    # calcula
    # guarda
    # imprime
    pass

❌ Viola el principio de responsabilidad única.

Cómo evitarlo: Divide en funciones pequeñas y claras.

Error 8: No documentar funciones complejas

def calcular(a, b, c):
    return (a * b) / c

⚠ Poco claro.

Cómo evitarlo:

def calcular(a, b, c):
    """Calcula (a * b) dividido por c."""
    return (a * b) / c

Error 9: No devolver siempre el mismo tipo de dato

def validar(x):
    if x > 0:
        return True
    return "Error"

❌ Retornos inconsistentes.

Cómo evitarlo:

def validar(x):
    return x > 0

Error 10: No reutilizar funciones

print(2 + 2)
print(3 + 3)

⚠ Lógica duplicada.

Cómo evitarlo:

def sumar(a, b):
    return a + b

Reglas prácticas para evitar errores con funciones

  • Usa return cuando necesites un resultado
  • Evita variables globales
  • No uses argumentos mutables como valores por defecto
  • Mantén funciones pequeñas y claras
  • Documenta lo que no sea obvio
  • Devuelve siempre tipos consistentes

Conclusión

La mayoría de los errores con funciones provienen de malas prácticas básicas. Aplicar estas reglas hace tu código:

  • Más predecible
  • Más reutilizable
  • Más fácil de probar y mantener

Clone this wiki locally