Python match case Statement
This article is a complementary resource to the Learn Python Basics course.
This article is a complementary resource to the Learn Python Basics course.
The match...case
evaluates a given expression, and based on the evaluated value, it executes certain associated statement(s).
fruit = "grapes"
match fruit:
case "banana":
print("It's a banana!")
case "orange":
print("It's an orange!")
case "apple":
print("It's an apple!")
case other:
print("Unknown fruit")
# Output: Unknown fruit
Here, the value of fruit
doesn't match with any of the cases. So the statement inside case other:
is executed, printing "Unknown fruit."
The basic syntax of the match...case
statement in Python is:
match expression:
case value1:
# statements
case value2:
# statements
...
case other:
# default statements
Here,
value1
, value2
, etc.), the corresponding statements for the matching case are executed.case other
) is executed.Note: You can use _
instead of other
as a default case as:
case _:
print("Unknown")
number = 48
match number:
case 29:
print('Small')
case 42:
print('Medium')
case 44:
print('Large')
case 48:
print('Extra Large')
case other:
print('Unknown')
# Output: Extra Large
Here, the value of number
matches case 48:
, so the associated code is executed.
Python match...case
allows tuples in cases, enabling structured pattern matching.
Let's look at an example.
plot = (0, 4)
match plot:
case (4, 0):
print('on x-axis')
case (0, 4):
print('on y-axis')
case (0, 0):
print('center')
# Output: on y-axis
Here, the tuple plot
is compared with each case. Since it matches case (0, 4):
, the associated statement is executed.