On Tue, Feb 18, 2020 at 9:40 AM Brandt Bucher <brandtbuc...@gmail.com> wrote:
> > Now, addressing Serhiy's points :)... > > > ...it was decided that `d1 | d2` also should ignore the types of the > operands and always return a dict. And it accepts only dicts, not general > mappings, in difference to `{**d1, **d2}`. So the only disadvantage of > `{**d1, **d2}` is that it is not well known and "looks ugly". > > Not quite. While this point *has* been weakened a bit with the recent > semantic change, you don't mention that `dict` subclasses can (and likely > would) override the `__or__` trio with wrapped `super()` calls. So while > `{**d1, **d2}` will *never* be anything but a `dict`, I can trust that > well-written `dict` subclasses my code encounters will still be able to > preserve themselves with `d1 | d2`, if desired. > In particular, you may want to update the implementations of defaultdict and ordereddict. (are there others?) -- --Guido van Rossum (python.org/~guido) *Pronouns: he/him **(why is my pronoun here?)* <http://feministing.com/2015/02/03/how-using-they-as-a-singular-pronoun-can-change-the-world/>
_______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-le...@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/JNZKDBPPJRBZS4WMG7AJXMHHZCIDSZ6W/ Code of Conduct: http://python.org/psf/codeofconduct/