Python 3.10では、新たな構文としてパターンマッチング(match case)が導入されました。この機能は、値に応じた処理の分岐を行うためのもので、条件分岐が厳密に定められることや、条件が入れ子になってしまった場合にもスッキリとまとまることが特徴です。
パターンマッチングの基本的な使い方
パターンマッチングは、以下のような形式で使用します。
match value:
case 1:
...
case _:
...
ここで、match
の後に続くvalue
は、分岐の対象となる値を指定します。case
の後に続く値は、value
と比較され、一致する場合にその後の処理が実行されます。また、case _:
は、どのcase
にも一致しない場合のデフォルトの処理を指定します。
パターンマッチングの応用
パターンマッチングは、単純な値の比較だけでなく、データ構造や属性のパターンでの分岐も可能です。例えば、次のようにリストの要素に対する条件分岐を行うことができます。
point = (33, 4)
match point:
case (0, 0):
print("原点")
case (0, y):
print(f"Y={y}")
case (x, 0):
print(f"X={x}")
case (x, y):
print(f"X={x}, Y={y}")
case _:
print("座標ではありません")
このように、match
とcase
を使ったパターンマッチングは、Pythonのコードをより直感的で読みやすいものにする強力なツールとなります。