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
[email protected]
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/