The Walrus Operator: Python's Assignment Expressions :
by:
blow post content copied from Real Python
click here to view original post
Each new version of Python adds new features to the language. Back when Python 3.8 was released, the biggest change was the addition of assignment expressions. Specifically, the :=
operator gave you a new syntax for assigning variables in the middle of expressions. This operator is colloquially known as the walrus operator.
This tutorial is an in-depth introduction to the walrus operator. You’ll learn some of the motivations for the syntax update and explore examples where assignment expressions can be useful.
In this tutorial, you’ll learn how to:
- Identify the walrus operator and understand its meaning
- Understand use cases for the walrus operator
- Avoid repetitive code by using the walrus operator
- Convert between code using the walrus operator and code using other assignment methods
- Use appropriate style in your assignment expressions
Note that all walrus operator examples in this tutorial require Python 3.8 or later to work.
Get Your Code: Click here to download the free sample code that shows you how to use Python’s walrus operator.
Take the Quiz: Test your knowledge with our interactive “The Walrus Operator: Python's Assignment Expressions” quiz. You’ll receive a score upon completion to help you track your learning progress:
Interactive Quiz
The Walrus Operator: Python's Assignment ExpressionsIn this quiz, you'll test your understanding of the Python Walrus Operator. This operator was introduced in Python 3.8, and understanding it can help you write more concise and efficient code.
Walrus Operator Fundamentals
First, look at some different terms that programmers use to refer to this new syntax. You’ve already seen a few in this tutorial.
The :=
operator is officially known as the assignment expression operator. During early discussions, it was dubbed the walrus operator because the :=
syntax resembles the eyes and tusks of a walrus lying on its side. You may also see the :=
operator referred to as the colon equals operator. Yet another term used for assignment expressions is named expressions.
Hello, Walrus!
To get a first impression of what assignment expressions are all about, start your REPL and play around with the following code:
1>>> walrus = False
2>>> walrus
3False
4
5>>> (walrus := True)
6True
7>>> walrus
8True
Line 1 shows a traditional assignment statement where the value False
is assigned to walrus
. Next, on line 5, you use an assignment expression to assign the value True
to walrus
. After both lines 1 and 5, you can refer to the assigned values by using the variable name walrus
.
You might be wondering why you’re using parentheses on line 5, and you’ll learn why the parentheses are needed later on in this tutorial.
Note: A statement in Python is a unit of code. An expression is a special statement that can be evaluated to some value.
For example, 1 + 2
is an expression that evaluates to the value 3
, while number = 1 + 2
is an assignment statement that doesn’t evaluate to a value. Although running the statement number = 1 + 2
doesn’t evaluate to 3
, it does assign the value 3
to number
.
In Python, you often see simple statements like return
statements and import
statements, as well as compound statements like if
statements and function definitions. These are all statements, not expressions.
There’s a subtle—but important—difference between the two types of assignments with the walrus
variable. An assignment expression returns the value, while a traditional assignment doesn’t. You can see this in action when the REPL doesn’t print any value after walrus = False
on line 1 but prints out True
after the assignment expression on line 5.
You can see another important aspect about walrus operators in this example. Though it might look new, the :=
operator does not do anything that isn’t possible without it. It only makes certain constructs more convenient and can sometimes communicate the intent of your code more clearly.
Now you have a basic idea of what the :=
operator is and what it can do. It’s an operator used in assignment expressions, which can return the value being assigned, unlike traditional assignment statements. To get deeper and really learn about the walrus operator, continue reading to see where you should and shouldn’t use it.
Implementation
Like most new features in Python, assignment expressions were introduced through a Python Enhancement Proposal (PEP). PEP 572 describes the motivation for introducing the walrus operator, the details of the syntax, and examples where the :=
operator can be used to improve your code.
This PEP was originally written by Chris Angelico in February 2018. Following some heated discussion, PEP 572 was accepted by Guido van Rossum in July 2018.
Since then, Guido announced that he was stepping down from his role as benevolent dictator for life (BDFL). Since early 2019, the Python language has been governed by an elected steering council instead.
The walrus operator was implemented by Emily Morehouse, and made available in the first alpha release of Python 3.8.
Motivation
Read the full article at https://realpython.com/python-walrus-operator/ »
[ Improve Your Python With 🐍 Python Tricks 💌 – Get a short & sweet Python Trick delivered to your inbox every couple of days. >> Click here to learn more and see examples ]
August 14, 2024 at 07:30PM
Click here for more details...
=============================
The original post is available in Real Python by
this post has been published as it is through automation. Automation script brings all the top bloggers post under a single umbrella.
The purpose of this blog, Follow the top Salesforce bloggers and collect all blogs in a single place through automation.
============================
Post a Comment