[Python-ideas] Default arguments in Python - the return - running out of ideas but...

CTO debatem1 at gmail.com
Fri May 15 01:28:02 CEST 2009


On May 14, 6:27 pm, Steven D'Aprano <st... at pearwood.info> wrote:
> On Thu, 14 May 2009 09:03:34 am CTO wrote:
>
> > Thanks for the input, but I've already written the code to do this.
> > It
> > is available at <URL:http://code.activestate.com/recipes/576751/>.
>
> [...]
>
> > The gode given is slow and ugly, but it does appear-
> > at least to me- to do what is being asked here.
>
> Your code seems to work only if the source to the function is available.
> That will mean it can't be used by people who want to distribute .pyc
> files only.
>
> --
> Steven D'Aprano

I think the list is eating my replies, but suffice to say that there's
a new version of the recipe at <URL: http://code.activestate.com/recipes/576754/>
that doesn't have that limitation and looks pretty close to the syntax
proposed above.

Example:
>>> @runtime
... def myfunc(x, y, z: lambda:[]):
...     z.extend((x,y))
...     return z
...
>>> myfunc(1, 2)
[1, 2]
>>> myfunc(3, 4)
[3, 4]
>>> myfunc(1, 2, z=[3, 4])
[3, 4, 1, 2]

Geremy Condra



More information about the Python-ideas mailing list