Until version 3.10, Python never had a feature that implemented what the switch statement does in other programming languages.
So, if you wanted to execute multiple conditional statements, you would’ve had to use the
elif keyword like this:
age = 120 if age > 90: print("You are too old to party, granny.") elif age < 0: print("You're yet to be born") elif age >= 18: print("You are allowed to party") else: "You're too young to party" # Output: You are too old to party, granny.
From version 3.10 upwards, Python has implemented a switch case feature called “structural pattern matching”. You can implement this feature with the
Some people debate whether or not the
case are keywords in Python. This is because you can use both of them as variable and function names. But that’s another story for another day.
You can refer to both keywords as “soft keywords” if you like.
In this article, I will show you how to write a switch statement in Python using the
But before that, I have to show you how Python programmers used to simulate a switch statement back in the day.
How Python Programmers Used to Simulate Switch Case
There were multiple ways Pythonistas simulated switch statements back in the day.
Using a function and the
elif keyword was one of them and you can do it this way:
How to Implement Switch Statements with the
case Keywords in Python 3.10
To write switch statements with the structural pattern matching feature, you can use the syntax below:
match term: case pattern-1: action-1 case pattern-2: action-2 case pattern-3: action-3 case _: action-default
Note that the underscore symbol is what you use to define a default case for the switch statement in Python.
An example of a switch statement written with the match case syntax is shown below. It is a program that prints what you can become when you learn various programming languages:
That’s a much cleaner syntax than multiple
elif statements and simulating the switch statement with a function.
You probably noticed I did not add a break keyword to each of the cases, as it is done in other programming languages. That’s the advantage Python’s native switch statement has over those of other languages. The break keyword’s functionality is done for you behind the scenes.
This article showed you how to write switch statements with the “match” and “case” keywords. You also learned how Python programmers used to write it before version 3.10.
Thank you for reading.