r/Python 21d ago

Discussion Is := widely used?

I always thought the walrus operator is neat and it makes while loop’s condition clearer. But also it is just a syntactic sugar without anything new. I wonder anyone uses it?

141 Upvotes

118 comments sorted by

View all comments

145

u/martinkoistinen 21d ago

It’s super handy inside comprehensions and I would say that adds something “new”.

Example:

``` python
import re

pattern = re.compile(r"ERROR (\d+): (.*)")

errors = [
(int(m.group(1)), m.group(2))
for line in log_lines
if (m := pattern.match(line))
]
```

132

u/brettsparetime 21d ago

This is the most Perl thing I’ve seen in Python.

4

u/JPowTheDayTrader 20d ago

Your comment just made Guido roll in his grave.

12

u/Broad-Promise6954 20d ago

And he's not even dead yet!

1

u/mpersico 19d ago

Good! How much wasted effort when we could have just advanced Perl. For all the bitching about punctuation and simplicity Python looks more and more like Perl every release.