[Python-Dev] (no subject) (original) (raw)

Paul Moore p.f.moore at gmail.com
Tue Feb 10 10:33:42 CET 2015


On 10 February 2015 at 00:29, Neil Girdhar <mistersheik at gmail.com> wrote:

> function(**kwarguments, **morearguments) If the key "key1" is in both dictionaries, morearguments wins, right?

There was some debate and it was decided that duplicate keyword arguments would remain an error (for now at least). If you want to merge the dictionaries with overriding, then you can still do: function(**{**kwarguments, **morearguments}) because **-unpacking in dicts overrides as you guessed.

Eww. Seriously, function(**{**kw_arguments, **more_arguments}) feels more like a Perl "executable line noise" construct than anything I'd ever want to see in Python. And taking something that doesn't work and saying you can make it work by wrapping **{...} round it just seems wrong.

Paul



More information about the Python-Dev mailing list