What is the Walrus Operator?
Python 3.8 introduces the creatively named "walrus" operator. Expressed via :=, the walrus operator allows you to assign values to a variable as part of an expression. The key benefit to this new operator is that it reduces the amount of written code required.
Previously if we wanted to assign a variable and print its value, you would have done something like this:
>>> device_type = "router"
>>> print(device_type)
router
In Python 3.8, you’re allowed to combine these two statements into one, using the walrus operator:
>>> print(device_type := "router")
router
Example
Let us build the context of our example out some more. Let’s say we have a simple dict() containing some device data, like so:
device_data = [ 
    {"device_type": "router",  "name": "rtr001"},
    {"device_type": "switch", "name": "sw001"},
    {"device_type": "firewall",  "name": "fw001"}
] 
The code typically required would look something like the below:
# Without Walrus Operator 
for device in device_data: 
    name = device.get("name") 
    if name: 
        print(f'Found name: "{name}"') 
If we now use the walrus operator, we can collapse our if condition and the name assignment into a single line like so:
# With Walrus Operator...
for device in device_data:  
    if name := device.get("name"): 
        print(f'Found name: "{name}"') 
                
                    