Python 3.10から導入された新機能、match-case
文について解説します。この機能は、他のプログラミング言語でいうところのswitch-case
文に似た機能を提供し、複数の条件に基づいて処理を分岐させることができます。
match-case文の基本的な構文
match-case
文の基本的な構文は以下のようになります。
match 対象の変数:
case パターン1:
処理1
case パターン2:
処理2
...
case パターンN:
処理N
case _:
それ以外の場合の処理
match-case文の使用例
以下に、match-case
文を使ったサンプルコードを示します。
animal = "犬"
match animal:
case "犬":
print("わんわん")
case "猫":
print("にゃーん")
case "鳥":
print("ぴよぴよ")
case _:
print("その他の動物")
このコードでは、animal
という変数に代入された文字列に応じて、異なる動物の鳴き声を表示しています。
パターンマッチング
match-case
文の強力な機能の1つに、パターンマッチングがあります。これにより、リストや辞書などのデータ構造に対しても簡単に条件分岐を行うことができます。
例えば、次のようなリストがあるとします。
data = ["apple", 3]
このリストの要素に応じて処理を分岐させるには、以下のようにmatch-case
文を使います。
data = ["apple", 3]
match data:
case ["apple", int(num)]:
print(f"リンゴが{num}個")
case ["banana", int(num)]:
print(f"バナナが{num}個")
case _:
print("その他のデータ")
このように、match-case
文を使うことで、Pythonプログラムの条件分岐を簡潔かつ柔軟に記述することができます。
ただし、match-case
文はPython 3.10以降でのみ利用可能なので、古いバージョンのPythonを使っている場合は注意が必要です。