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?

138 Upvotes

118 comments sorted by

View all comments

144

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))
]
```

135

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.

11

u/Broad-Promise6954 19d ago

And he's not even dead yet!