Python 3.10では、新たな構文であるmatch-case
が導入されました。この構文は、値に応じた処理の分岐を行うためのもので、条件分岐が厳密に定められることや、条件が入れ子になってしまった場合にもスッキリとまとまることが特徴です。
match-caseの基本的な使い方
match-case
構文は、以下のように使用します。
match value:
case pattern1:
# do something
case pattern2:
# do something else
case _:
# default case
ここで、pattern1
やpattern2
はマッチさせたいパターンを表し、value
はマッチさせる対象の値を表します。case _:
はデフォルトのケースで、他のどのパターンにもマッチしなかった場合に実行されます。
ガードの使用
match-case
構文では、if
ステートメントを使用してガードを設けることができます。ガードは、特定の条件を満たす場合にのみマッチさせるためのもので、以下のように使用します。
match value:
case pattern1 if condition1:
# do something
case pattern2 if condition2:
# do something else
case _:
# default case
ここで、condition1
やcondition2
はガードとして設ける条件を表します。これらの条件が真である場合にのみ、対応するcase
ブロックが実行されます。
まとめ
Python 3.10のmatch-case
構文は、値に応じた処理の分岐を行う強力なツールです。特に、条件分岐が複雑になりがちな場合や、データ構造に基づいた分岐を行いたい場合には、match-case
構文の使用を検討してみてください。