On 01/26/2015 11:39 AM, Petr Viktorin wrote: > On Mon, Jan 26, 2015 at 8:29 PM, Ethan Furman <et...@stoneleaf.us> wrote: >> On 01/26/2015 11:24 AM, Barry Warsaw wrote: >>> On Jan 26, 2015, at 10:55 AM, Ethan Furman wrote: >>> >>>> In the your example >>>> >>>> from_env = {'a': 12} >>>> from_config = {'a': 13} >>>> >>>> f(**from_env, **from_config) >>>> >>>> I would think 'a' should be 13, as from_config is processed /after/ >>>> from_env. >>>> >>>> So which is it? >>> >>> In the face of ambiguity, refuse the temptation to guess. >> >> Lots of things are ambiguous until one learns the rules. ;) > > I don't see why `f(**{'a': 12}, **{'a': 13})` should not be equivalent > to `f(a=12, **{'a':13})` – iow, raise TypeError.
It destroy's the chaining value and pretty much makes the improvement not an improvement. If there's a possibility that the same key could be in more than one of the dictionaries then you still have to do the dict.update(another_dict) dance. -- ~Ethan~
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com