[Python-ideas] @return?
MRAB
python at mrabarnett.plus.com
Thu Apr 15 02:16:01 CEST 2010
Jim Jewett wrote:
> On Wed, Apr 14, 2010 at 6:07 PM, Mathias Panzenböck
> <grosser.meister.morti at gmx.net> wrote:
>
>> Maybe only allow them [function definitions] at certain places
>> where they can be seen as an
>> extension to an already existing statement syntax (not to an
>> expression syntax):
>
>> foo.bar = def(egg, spam):
>> pass
>
> There have been some proposals to allow dotted names and/or indexes in
> place of the name, so that would be written as
>
> def foo.bar(egg, spam):
> pass
>
> They haven't been permanently rejected, but they've been put on hold
> for the same reason class decorators were -- once allowed, they can't
> be backed out, so lets wait until we're *sure* we need them.
>
>> return def(egg, spam):
>> pass
>
> This is really only useful inside another function, and isn't a clear
> win. (Would you return the function, or the result of calling the
> function?
>
The function itself.
> Could you put () after the definition to call it?
>
Probably not.
> Could you use other decorators? Could you put a comma after the
> definition to return a tuple of the function and something?)
>
> And note that today's idiom is merely sub-optimal, not outright
> terrible. You can still use your own short name instead of the long
> one you need for an external API.
>
> def wrap():
> def _(egg, spam)
> pass
> return _
>
How about:
def wrap():
def return(egg, spam):
pass
:-)
More information about the Python-ideas
mailing list