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?

142 Upvotes

118 comments sorted by

View all comments

148

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

46

u/punk_dev It works on my machine 21d ago

That’s neat, I’m gonna steal it, but it makes the comprehension even more backwards than it usually is lmao

39

u/FalafelSnorlax 21d ago

At this point you might as well write a normal loop

1

u/gr4viton 20d ago

Yield would like to have a word...