Es pitónico que una función devuelva varios valores?
En python, puede hacer que una función devuelva múltiples valores. Aquí hay un ejemplo artificial:
def divide(x, y):
quotient = x/y
remainder = x % y
return quotient, remainder
(q, r) = divide(22, 7)
Esto parece muy útil, pero parece que también se puede abusar ("Bueno ... la función X ya calcula lo que necesitamos como un valor intermedio. Hagamos que X devuelva ese valor también").
¿Cuándo debe dibujar la línea y definir un método diferente?