[Python-Dev] PEP 572: Assignment Expressions

Robert Smallshire rob at sixty-north.com
Fri Apr 20 02:32:56 EDT 2018


If you restrict the idea to 'if' and 'while', Why not render this using the
existing 'as' form for binding names, already used with 'except' and 'with':

    while learner.get(static_hint) as points:
        learner.feed(f(points))

The equivalent for 'if' helps with the regex matching case:

    if re.match(r"...") as m:
        print(m.group(1))

I considered proposing these two forms in a PEP a few years ago, but never
got around to it. To my eye, they fit syntactically into the language
as-is, without introducing new symbols, operators or keywords, are
consistent with existing usage, and address two relatively common causes of
displeasing Python code.

Robert
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20180420/0e7ab29d/attachment.html>


More information about the Python-Dev mailing list