<div dir="ltr">Seems to me it's much more obvious that "name:=expression" is assigning expression to name than "name!expression". The ! is also confusing because "!=" means "not equals", so the "!" symbol is already sort of associated with "not"</div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 6, 2018 at 11:27 AM, Cammil Taank <span dir="ltr"><<a href="mailto:ctaank@gmail.com" target="_blank">ctaank@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto">I'm not sure if my suggestion for 572 has been considered:<div dir="auto"><br></div><div dir="auto">``name! expression``</div><div dir="auto"><br></div><div dir="auto">I'm curious what the pros and cons of this form would be (?).</div><div dir="auto"><br></div><div dir="auto">My arguments for were in a previous message but there do not seem to be any responses to it.</div><span class="HOEnZb"><font color="#888888"><div dir="auto"><br></div><div dir="auto">Cammil</div></font></span></div><br><div class="gmail_quote"><div><div class="h5"><div dir="ltr">On Fri, 6 Apr 2018, 16:14 Guido van Rossum, <<a href="mailto:guido@python.org" target="_blank">guido@python.org</a>> wrote:<br></div></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Apr 6, 2018 at 7:47 AM, Peter O'Connor <span dir="ltr"><<a href="mailto:peter.ed.oconnor@gmail.com" rel="noreferrer" target="_blank">peter.ed.oconnor@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi all, thank you for the feedback. I laughed, I cried, and I learned. </div></blockquote><div><br></div><div>You'll be a language designer yet. :-)<br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">However, it looks like </span>I'd be fighting a raging current if I were to try and push this proposal. It's also encouraging that most of the work would be done anyway if ("Statement Local Name Bindings") thread passes. So some more humble proposals would be:</div><div><br></div><div>1) An initializer to <span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">itertools.accumulate </span></div><div>functools.reduce already has an initializer, I can't see any controversy to adding an initializer to itertools.accumulate</div></div></blockquote><div><br></div><div>See if that's accepted in the bug tracker.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>2) Assignment returns a value <span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">(basically what's already in the "</span><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial;font-size:12.8px;background-color:rgb(255,255,255);float:none;display:inline">Statement local name </span><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial;font-size:12.8px;background-color:rgb(255,255,255);float:none;display:inline">bindings" discussion)</span></div><div>`a=f()` returns a value of a</div><div>This would allow updating variables in a generator (I don't see the need for ":=" or "f() as a") but that's another discussion</div></div></blockquote><div><br></div><div>Please join the PEP 572 discussion. The strongest contender currently is `a := f()` and for good reasons.<br></div><br></div>-- <br><div class="m_-2473235116505678717m_-6269797622960430361gmail_signature" data-smartmail="gmail_signature">--Guido van Rossum (<a href="http://python.org/~guido" rel="noreferrer" target="_blank">python.org/~guido</a>)</div>
</div></div></div></div><span class="">
______________________________<wbr>_________________<br>
Python-ideas mailing list<br>
<a href="mailto:Python-ideas@python.org" rel="noreferrer" target="_blank">Python-ideas@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-ideas" rel="noreferrer noreferrer" target="_blank">https://mail.python.org/<wbr>mailman/listinfo/python-ideas</a><br>
Code of Conduct: <a href="http://python.org/psf/codeofconduct/" rel="noreferrer noreferrer" target="_blank">http://python.org/psf/<wbr>codeofconduct/</a><br>
</span></blockquote></div>
</blockquote></div><br></div>