Hi!

I thought that maybe dict could accept several mappings as positional
arguments, like this:

class Dict4(dict):
>     def __init__(self, *args, **kwargs):
>         if len(args) > 1:
>             if not all([isinstance(arg, dict) for arg in args]):
>                 raise TypeError('Dict4 expected instances of dict since
> multiple positional arguments were passed')
>
>             temp = args[0].copy()
>
>             for arg in args[1:]:
>                 temp.update(arg)
>
>             super().__init__(temp, **kwargs)
>         else:
>             super().__init__(*args, **kwargs)
>

AFAIK, this wouldn't create compatibility problems, since you can't pass
two positional arguments now anyways.

It would be useful to solve the "sum/union dicts" discussion, for example:
requests.get(url, params=dict(params, {'foo': bar})

Whar are your thoughts?
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to