Python Tutorials - Herong's Tutorial Examples - v2.15, by Herong Yang
"match" Statement for Pattern Match
This section provides a quick introduction of 'match' statement, which selects a block of sub-statements to execute based on pattern match algorithms.
What Is "match" Statement? A "match" statement is a compound statement that selects a block of sub-statements to execute based on pattern match algorithms. "match" statements were introduced in 2021 in Python 3.10.
Here is the syntax of "match" statements:
match SUBJECT: case PATTHEN_1 [if CONDITION_1]: SUITE_1 case PATTHEN_2 [if CONDITION_2]: SUITE_2 ... case _: SUITE_n
Logically, a "match" statement written in the above syntax is equivalent to the following code using "if" statements:
if SUITE_1_matches_SUBJECT [and CONDITION_1]: SUITE_1 elif SUITE_2_matches_SUBJECT [and CONDITION_2]: SUITE_2 ... else SUITE_n
I don't have Python 3.10 installed yet. So I am not able to run any test on "match" statements. But you can look at the following example given in the Python 3.10 manual.
>>> flag = False >>> match (100, 200): ... case (100, 300): # Mismatch: 200 != 300 ... print('Case 1') ... case (100, 200) if flag: # Successful match, but guard fails ... print('Case 2') ... case (100, y): # Matches and binds y to 200 ... print(f'Case 3, y: {y}') ... case _: # Pattern not attempted ... print('Case 4, I match anything!') ... Case 3, y: 200
Table of Contents
Variables, Operations and Expressions
"pass" Statement - Do Nothing Statement
Expression Statement - One Expression Only
"=" Statement - Assignment Statement
"del" Statement - Delete Statement
"import" Statement to Load Modules
"if" Statement for Conditional Execution
"while" Statement for Execution Loop
"for" Statement for Iterative Execution
"try" Statement to Catch Execution
"with" Statement for Context Manager
►"match" Statement for Pattern Match
Function Statement and Function Call
List, Set and Dictionary Comprehensions
Packages and Package Directories
"pathlib" - Object-Oriented Filesystem Paths
"pip" - Package Installer for Python
SciPy.org - Python Libraries for Science
pandas - Data Analysis and Manipulation
Anaconda - Python Environment Manager