I dislike the symbol '+' to mean "dictionary merging with value updates." I have no objection to, and mildly support, adding '|' with this meaning. 

It's not really possible to give "that one example" where + for meeting makes code less clear... In my eyes it would be EVERY such use. Every example presented in this thread or in the PEP feels wrong to me. I know about operator overloading and dunder methods and custom classes. My intuition about '+' from math, other programming languages, and Python, simply does not lead me to expect the proposed meaning. 

On Thu, Mar 21, 2019, 12:43 PM Steven D'Aprano <steve@pearwood.info> wrote:
I'd like to make a plea to people:

I get it, there is now significant opposition to using the + symbol for
this proposed operator. At the time I wrote the first draft of the PEP,
there was virtually no opposition to it, and the | operator had very
little support. This has clearly changed.

At this point I don't think it is productive to keep making subjective
claims that + will be more confusing or surprising. You've made your
point that you don't like it, and the next draft^1 of the PEP will make
that clear.

But if you have *concrete examples* of code that currently is easy to
understand, but will be harder to understand if we add dict.__add__,
then please do show me!

For those who oppose the + operator, it will help me if you made it
clear whether it is *just* the + symbol you dislike, and would accept
the | operator instead, or whether you hate the whole operator concept
regardless of how it is spelled.

And to those who support this PEP, code examples where a dict merge
operator will help are most welcome!




^1 Coming Real Soon Now™.


--
Steven
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/