Python 3.10から導入された新機能の一つに、match-case文があります。この機能は他のプログラミング言語でいうところのswitch-case文に似ていますが、より強力で柔軟な条件分岐を実現します。

基本的な構文

match-case文の基本的な構文は以下のようになります。

match 対象の変数:
    case パターン1:
        処理1
    case パターン2:
        処理2
    ...
    case パターンN:
        処理N
    case _:
        それ以外の場合の処理

パターンマッチング

match-case文の強力な機能の一つに、パターンマッチングがあります。これにより、リストや辞書などのデータ構造に対しても簡単に条件分岐を行うことができます。

例えば、次のようなリストがあるとします。

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("その他のデータ")

orを使った複数条件のマッチング

match-case文では、orを使って複数の条件を一つのcase文で表現することも可能です。これにより、同じ処理を行う複数の条件を一つのcase文にまとめることができます。

status = 500

match status:
    case 200:
        raise Exception('失敗')
    case 500 | 501 | 502 | 503:
        print('成功')
    case _:
        raise Exception('失敗')

このように、Python 3.10からはmatch-case文を使って、よりシンプルで直感的な条件分岐が可能になりました。ただし、現在でもPython 3.9以前のバージョンが使われているため、まだmatch-case文が使えない状況もあります。そのため、状況に応じてif-elif-else文を使った条件分岐も覚えておくことが重要です。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です