[Python-ideas] PEP: Dict addition and subtraction
mertz at gnosis.cx
Thu Mar 21 18:02:05 EDT 2019
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 at 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™.
> Python-ideas mailing list
> Python-ideas at python.org
> Code of Conduct: http://python.org/psf/codeofconduct/
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Python-ideas