[Python-Dev] PEP 572: Assignment Expressions

Guido van Rossum guido at python.org
Mon Apr 23 00:55:39 EDT 2018


On Sun, Apr 22, 2018 at 3:13 PM, Steve Dower <steve.dower at python.org> wrote:

> This example makes me want “if expr as name:” (same semantics as ‘with’,
> and the name is always bound to the expression result regardless of
> truthiness), but doesn’t move me on assignment expressions.
>

In reality there often are other conditions being applied to the match for
which `if expr as name` is inadequate. The simplest would be something like

  if ...:
      <something>
  elif (m := re.match('(.*):(.*)', line)) and m.group(1) == m.group(2):
    <whatever>

And the match() call may not even be the first thing to check -- e.g. we
could have

    elif line is not None and (m := re.match('(.*):(.*)', line)) and
m.group(1) == m.group(2):

-- 
--Guido van Rossum (python.org/~guido)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20180422/2492a2ca/attachment.html>


More information about the Python-Dev mailing list