[SciPy-User] return "full_output" or how to stop throwing away already calculated results
Tue Mar 9 19:56:27 CST 2010
On 9-Mar-10, at 4:01 PM, firstname.lastname@example.org wrote:
> in statsmodels, I am switching more to the pattern when
> full_output=True (or similar keyword) for a function, then all
> intermediate results are returned, attached to a generic class
> instance ( or could be a struct in matlab or a bunch for Gael,...)
David Cournapeau pointed out (in the thread "anyone to look at #1402?"
on the numpy-discussion list) that the wider Python community frowns
on the type of the returned value depending on a boolean flag
argument, preferring instead different function names that call some
common (private) helper function. It provided some validation for my
uncomfortable feelings about scipy.optimize methods that do this.
I do think it's worth thinking about returning some sort of proxy
object that can have attributes set to either 'None' or the
appropriate values. It would certainly make code more readable (except
in the situation where you use argument unpacking, but even then it
isn't obvious to an outsider how crucial that full_output thing is).
More information about the SciPy-User