The Python Walrus Operator

In this article, we will explore assignment operators in Python, including the walrus operator which simplifies variable assignments within expressions.


Assignment operators allow us to assign values to variables. They have a vital role in any programming language. In Python, there are several assignment operators available, each serving a specific purpose. In this article, we will explore assignment operators in Python, focusing on the walrus operator introduced in Python 3.8.

A simple assignment operator looks like the below:

result = compute(1, 2)

The Walrus Operator (:=):

The walrus operator, represented by :=, is introduced in Python 3.8. It allows assignment within expressions, providing a compact and readable way to assign values to variables.

Consider the following examples to understand the utility of the walrus operator:

my_list = [1,2,3,4,5,6,7,8,9]
list_length = len(my_list)

if list_length > 3:
    print(f"List is too long ({list_length} elements, expected <= 3)")

We can rewrite the above code using the walrus operator:

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]

if (list_length := len(my_list)) > 3:
    print(f"List is too long ({list_length} elements, expected <= 3)")

In this optimized version, the length of my_list is assigned to list_length using the walrus operator within the condition itself. It eliminates the need for a separate line of code to calculate the length and assigns it directly in the conditional expression.

Example 2: Reading input until a certain value is entered

while (user_input := input("Enter a value: ")) != "quit":
    print(f"You entered: {user_input}")

The walrus operator allows us to assign the user input to user_input while simultaneously checking if it's not equal to "quit". The loop continues until the user enters "quit", and the code becomes more concise and readable.

Other Assignment Operators:

Apart from the walrus operator, Python offers various assignment operators to handle different scenarios efficiently.

These operators include:

  • = Basic assignment operator
  • +=, -=, *=, /=, //=, %= Augmented assignment operators for arithmetic operations
  • **=, &=, |=, ^=, >>=, <<= Augmented assignment operators for exponentiation and bitwise operations


The assignment operators' main objective is assigning values to variables within expressions. The walrus operator, along with other assignment operators, allows for more concise and readable code, reducing redundancy and improving efficiency. By utilizing assignment operators effectively, we can write clean, expressive, and efficient code.

Keep Learning..!

#py #python 

The Python Walrus Operator
1.00 GEEK