[Python-ideas] PEP: Dict addition and subtraction
Jonathan Fine
jfine2358 at gmail.com
Fri Mar 22 03:47:01 EDT 2019
Chris Angelico wrote:
> The trouble with that is that you can't always use a dict subclass (or
> a non-subclass MutableMapping implementation, etc, etc, etc). There
> are MANY situations in which Python will give you an actual real dict,
> and it defeats the purpose if you then have to construct an
> AddableDict out of it just so you can add something to it. Not every
> proposed change makes sense on PyPI, and it definitely won't get a
> fair representation in "practical experience".
Chris seems to accept that sometimes you can use a dict subclass, and
that my proposal will give some representation of "practical
experience".
Even if not perfect, such benefits are I think worth having. And Chris
gives no evidence (or examples) beyond his own assertions, that my
proposal would not produce a fair representation of practical
experience.
Why don't we just try it and see. This would engage us with the users.
And it would, as I suggested, clarify and document the syntax and
semantics. And provide backporting to current versions of Python.
By the way, in "Masterminds of Programming" [page 20], Guido gives
four lines of defence against the unwise addition of a "favorite
feature" to the language. They are
[1] Explain to people that they can already do what they want.
[2] Tell them to write their own module or class to encapsulate the feature.
[3] Accept the feature, as pure Python, in the standard library.
[4] Accept the feature as a C-Python extension standard.
And [4] is, in Guido's words
> the last line of defense before we have to admit [...]
> this is so useful [...] so we'll have to change the language
I think the pure Python implementation is important. If the supporters
of this proposal are not willing to provide this, then I will (along
with anyone else who volunteers).
http://shop.oreilly.com/product/9780596515171.do # Masterminds of Programming
--
Jonathan
More information about the Python-ideas
mailing list