[Python-ideas] Short form for keyword arguments and dicts
Andrew McNabb
amcnabb at mcnabbs.org
Mon Jun 24 18:23:56 CEST 2013
On Mon, Jun 24, 2013 at 11:34:49AM +1200, Greg Ewing wrote:
> Steven D'Aprano wrote:
> >The special case "parameter name matches exactly argument
> >expression" is far too special, and the benefit far too minor, to
> >deserve special syntax.
>
> It occurs more often than you might think, because taking
> parameters that you've been passed and passing them on to
> another function is a common pattern.
Another use case where this would come in handy is with string
formatting:
>>> print('{spam} and {eggs}'.format(spam=spam, eggs=eggs))
I've seen people use an awful workaround for this:
>>> print('{spam} and {eggs}'.format(locals()))
While it looks a little magical, the proposed syntax would be an
improvement (especially when there are many arguments):
>>> print('{spam} and {eggs}'.format(=spam, =eggs))
I'm not sure if the proposed solution is necessarily the best, but it's
not as contrived as some commenters have made it out to be.
--
Andrew McNabb
http://www.mcnabbs.org/andrew/
PGP Fingerprint: 8A17 B57C 6879 1863 DE55 8012 AB4D 6098 8826 6868
More information about the Python-ideas
mailing list