this post was submitted on 26 Jul 2025
73 points (98.7% liked)

Python

7340 readers
61 users here now

Welcome to the Python community on the programming.dev Lemmy instance!

πŸ“… Events

PastNovember 2023

October 2023

July 2023

August 2023

September 2023

🐍 Python project:
πŸ’“ Python Community:
✨ Python Ecosystem:
🌌 Fediverse
Communities
Projects
Feeds

founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] Eheran@lemmy.world 8 points 1 week ago (4 children)

Walrus operator. What did I just read?

[–] sugar_in_your_tea@sh.itjust.works 12 points 1 week ago (2 children)

I love the walrus operator:

if (x := some_function()):
    do_something(x)
else:
    # x is None or False or something, consider it invalid

The only thing I wish was different is adding a scope, which would make x invalid outside the block. But Python's scoping rules are too dumb to handle this case.

[–] tunetardis@piefed.ca 2 points 6 days ago

I think my most common use case is with dictionary lookups.

if (val := dct.get(key)) is not None:
    # do something with val

I've also found some cases where the walrus is useful in something like a list comprehension. I suppose expanding on the above example, you you make one that looks up several keys in a dict and gives you their corresponding values where available.

vals =  [val for key in (key1, key2, key3) if (val := dct.get(key)) is not None]
load more comments (1 replies)
load more comments (2 replies)