-
Notifications
You must be signed in to change notification settings - Fork 0
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.
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 + bdef 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 + btotal = 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 + adef 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 listadef dividir(a, b):
return a / b
print(dividir(10, 0))Salida:
ZeroDivisionErrorCómo evitarlo:
def dividir(a, b):
if b == 0:
return None
return a / bdef crear_usuario(nombre, edad, email, ciudad, pais):
pass⚠ Difícil de usar y mantener.
Cómo evitarlo:
def crear_usuario(datos):
passO usar **kwargs.
def procesar():
# valida
# calcula
# guarda
# imprime
pass❌ Viola el principio de responsabilidad única.
Cómo evitarlo: Divide en funciones pequeñas y claras.
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) / cdef validar(x):
if x > 0:
return True
return "Error"❌ Retornos inconsistentes.
Cómo evitarlo:
def validar(x):
return x > 0print(2 + 2)
print(3 + 3)⚠ Lógica duplicada.
Cómo evitarlo:
def sumar(a, b):
return a + b- 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
Wiki educativa con ejemplos prácticos de Python en español, enfocada en aprendizaje claro y aplicable.
Todos los ejemplos muestran código y salida real.
📘 Índice principal: Home
🔁 Contenido actualizado regularmente
🌐 Relacionado: SolveConPython (versión en español en desarrollo)