Quiero cambiar una función python para devolver dos valores. ¿Cómo lo logro sin afectar ninguna de las llamadas a función previas que solo esperan un valor de retorno?Valores devueltos múltiples en python
Por ej.
definición original:
def foo():
x = 2
y = 2
return (x+y)
suma = foo()
Ne Definición:
def foo():
x = 2
y = 2
return (x+y), (x-y)
suma, diff = foo()
quiero hacer esto en una forma en que la llamada anterior a foo también sigue siendo válida? ¿Esto es posible?
Buen truco. Si quisieras utilizar todo Java en las cosas aquí, ¿no podrías cambiarlo para devolver una clase personalizada que actúa como int (el primer valor normalmente), pero que también podría indexarse como una tupla? Entonces ni siquiera necesita cambiar la firma de la llamada. –
podrías pero eso sería más trabajo, creo ... esta fue la manera más simple (me pareció) para lograr lo que el OP quería ... –
Por cierto, ¿estás relacionado con el famoso [David Beasley] (http: //www.dabeaz.com/)? –