[Python-ideas] A PEP on introducing variables on 'if' and 'while'
Juancarlo Añez
apalala at gmail.com
Sun Jun 10 08:08:13 EDT 2018
> The only difference is that the `except` block implicitly unbinds the
> variable when the block ends.
>
Mmmm. Good to know, because that means that the semantics are the same,
except...
>
> while (condition := expression) as flag:
> ...
>
Ah! Are the parenthesis necessary there?
Accepting "while/if as name" would remove much (but not all) of the
> motivation for assignment expressions, while accepting assignment
> expressions would make a dedicated while/if as name syntax unnecessary.
>
Most of the arguments in favor of ':=' have been through examples of
generators in which the introduced name is used within, with the if/while
case often forgotten.
There can be cases in which combining both syntaxes is useful:
x = None
while compute(x := v for v in next_series_value(x)) as comp:
...
x = comp
> Like it or not, I expect that they will be seen as competing PEPs, not
> independent ones.
Finding a real-world example of something like the above synthetic example
would be in favor of the orthogonality.
--
Juancarlo *Añez*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20180610/08d58816/attachment.html>
More information about the Python-ideas
mailing list