Python's Walrus Operator: A 2-Minute Guide to Cleaner Code
How to use :=
without making your code unreadable.
Python's walrus operator (:=
) lets you assign and check a value in a single line. It’s great for cleaning up specific patterns, but the golden rule is always prioritize readability.
Here’s the quick guide:
1. Clean Up Your Loops
Tame clunky while
loops by combining assignment and checking.
Verbose (But Clear):
while True:
chunk = file.read(1024)
if not chunk:
break
process(chunk)
Walrus (Streamlined):
while (chunk := file.read(1024)):
process(chunk)
2. Supercharge Comprehensions
Avoid calculating the same value twice in a list comprehension.
Inefficient:
results = [func(x) for x in list if func(x) > 5] # func called twice!
Efficient:
results = [y for x in list if (y := func(x)) > 5] # func called once.
The One Rule to Remember:
Use the walrus operator to remove redundancy, not to create it. If using :=
makes a line of code dense, complex, or hard to understand, a simple assignment is always the better choice. When in doubt, write it out!
Use it wisely to write more concise and powerful Python.
Aaron Rose is a software engineer and technology writer at tech-reader.blog and the author of The Rose Theory series on math and physics.
Comments
Post a Comment