[Python-ideas] On evaluating features [was: Unpacking iterables for augmented assignment]
Jonathan Fine
jfine2358 at gmail.com
Thu Sep 6 14:33:46 EDT 2018
Hi Franklin Lee
Thank you for your message. You wrote:
> We can translate the original example:
> a, b, c += x, y, z
> to:
> a, b, c = target_list(a,b,c).__iadd__((x,y,z))
> where `target_list` is a virtual (not as in "virtual function") type
> for target list constructs.
Yes, we can.I think all are agreed that that such semantics for
a, b, c += x, y, z
could be provided in a future version of Python. At present we get
>>> a, b, c += [4, 5, 6]
SyntaxError: illegal expression for augmented assignment
Where we're not agreed, I think, is whether doing so would be a good
idea. The proposers think it is a good idea. However, unless the
proposers convince sufficient users that it is a good idea to do so,
it probably won't be added to Python.
By the way, I think it's easier to get users for a pure Python module
(and hence perhaps get it into the standard library) than it is to
make a language syntax and semantics change. And I also like that
things are this way.
--
Jonathan
More information about the Python-ideas
mailing list