>     # Handle a matched regex
>     if (match := pattern.search(data)) is not None:
>         ...
>
>     # A more explicit alternative to the 2-arg form of iter() invocation
>     while (value := read_next_item()) is not None:
>         ...
>
>     # Share a subexpression between a comprehension filter clause and its 
> output
>     filtered_data = [y for x in data if (y := f(x)) is not None]

What do you think of adding the variant without the new ":=" syntax?
It would help to see the benefit of the new ":=" syntax, and help to
compare the two syntaxes.

if:
  if (match := pattern.search(data)) is not None: ...
vs
  match = pattern.search(data)
  if match is not None: ...

while:
  while (value := read_next_item()) is not None: ...
vs
  while True:
    value = read_next_item()
    if value is None: break
    ...

list-comprehension:
  filtered_data = [y for x in data if (y := f(x)) is not None]
vs
  filtered_data = [f(x) for x in data]
  filtered_data = [x for x in filtered_data if x is not None]

Victor
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to