[SciPy-User] return "full_output" or how to stop throwing away already calculated results

David Warde-Farley dwf at cs.toronto.edu
Tue Mar 9 20:56:27 EST 2010


On 9-Mar-10, at 4:01 PM, josef.pktd at gmail.com 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).

David



More information about the SciPy-User mailing list