<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Wed, May 30, 2018 at 1:52 PM Chris Angelico <<a href="mailto:rosuav@gmail.com">rosuav@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Thu, May 31, 2018 at 1:23 AM, Peter O'Connor<br>
<<a href="mailto:peter.ed.oconnor@gmail.com" target="_blank">peter.ed.oconnor@gmail.com</a>> wrote:<br>
>>  In comparison, I think that := is much simpler.<br>
><br>
><br>
> In this case that's true, but a small modification:<br>
><br>
>         updates = {<br>
>             y: do_something_to(potential_update)<br>
>             for x in need_initialization_nodes<br>
>             for y in [x, *x.synthetic_inputs()]<br>
>             if potential_update is not None<br>
>             given potential_update = command.create_potential_update(y)<br>
>             }<br>
><br>
> Shows the flexibility of this given syntax vs ":="<br>
<br>
I don't understand what you're showcasing here. With :=, you give a<br>
name to something at the exact point that it happens:<br>
<br>
        updates = {<br>
            y: do_something_to(potential_update)<br>
            for x in need_initialization_nodes<br>
            for y in [x, *x.synthetic_inputs()]<br>
            if (potential_update :=<br>
command.create_potential_update(y)) is not None<br>
            }<br>
<br>
Personally, I'd use a shorter name for something that's used in such a<br>
small scope (same as you use one-letter "x" and "y"). But that's the<br>
only way that the 'given' syntax looks at all better - by encouraging<br>
you to use yet another line, it conceals some of its immense<br>
verbosity. (Note how the name "potential_update" is used twice with<br>
:=, once to set and one to retrieve; but with given, it's used three<br>
times - retrieve, retrieve, and set.)<br>
<br>
How does this show that 'given' is more flexible?<br>
<br></blockquote><div><br></div><div>Oh yeah, good point, I forgot that I could use := within the condition itself.  It does show that this feature is useful, but not that given is more flexible than :=.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
ChrisA<br>
_______________________________________________<br>
Python-ideas mailing list<br>
<a href="mailto:Python-ideas@python.org" target="_blank">Python-ideas@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-ideas" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-ideas</a><br>
Code of Conduct: <a href="http://python.org/psf/codeofconduct/" rel="noreferrer" target="_blank">http://python.org/psf/codeofconduct/</a><br>
<br>
-- <br>
<br>
--- <br>
You received this message because you are subscribed to a topic in the Google Groups "python-ideas" group.<br>
To unsubscribe from this topic, visit <a href="https://groups.google.com/d/topic/python-ideas/keaR3FudcwQ/unsubscribe" rel="noreferrer" target="_blank">https://groups.google.com/d/topic/python-ideas/keaR3FudcwQ/unsubscribe</a>.<br>
To unsubscribe from this group and all its topics, send an email to <a href="mailto:python-ideas%2Bunsubscribe@googlegroups.com" target="_blank">python-ideas+unsubscribe@googlegroups.com</a>.<br>
For more options, visit <a href="https://groups.google.com/d/optout" rel="noreferrer" target="_blank">https://groups.google.com/d/optout</a>.<br>
</blockquote></div></div>