[Python-ideas] return value of yield expressions
Stefan Behnel
stefan_ml at behnel.de
Tue Sep 13 14:21:31 CEST 2011
Jacob Holm, 13.09.2011 13:02:
> args, kwds = (yield ret) # any expression really
> (a1, a2, a3, *args), kwds = (lambda a1,a2,a3=default,*args, **kwds:
> (a1,a2,a3)+args, kwds
> )(*args, **kwds)
Note that recent Python versions support extended argument unpacking, so
this works:
a1, *other, a2 = return_some_sequence()
If you use the last value of the returned sequence (such as a tuple) to
pass a dict, or if you return a tuple with two arguments (posargs,
kwargdict), you basically get what you wanted above.
Time machine keys are back were they were. Nothing to see here, keep passing.
Stefan
More information about the Python-ideas
mailing list