\

Python 3.10から導入された新機能、match文について説明します。この記事では、match文とif文の違いについて詳しく解説します。

match文とは

match文はPython 3.10から導入された新機能で、値に応じた処理の分岐に使用する構文です。match文は、if文とは異なり、条件分岐が厳密に定められ、条件が入れ子になってしまった場合でもスッキリとまとまることが特徴です。

if文との違い

if文は、ブール値(真または偽)を評価する必要があります。一方、match文では、構造的パターンマッチングを行うことができ、これはより非線形的な方法で実装できます。つまり、複数のケースを一つずつチェックするのではなく、辞書を索引してすぐに正しい結果を取得するという違いがあります。

以下に、match文とif文の使用例を示します。

# if文
for i in range(1, 101):
    if i % 3 == 0 and i % 5 == 0:
        print("FizzBuzz")
    elif i % 3 == 0:
        print("Fizz")
    elif i % 5 == 0:
        print("Buzz")
    else:
        print(i)

# match文
for i in range(1,101):
    match i:
        case i if i % 3 == 0 and i % 5 == 0:
            print('FizzBuzz')
        case i if i % 5 == 0:
            print('Buzz')
        case i if i % 3 == 0:
            print('Fizz')
        case _:
            print(i)

この例からもわかるように、match文を使用すると、コードがより読みやすくなります。

まとめ

match文は、if文とは異なる特性を持つため、それぞれの文が適した場面で使用することが重要です。match文は、特に条件分岐が複雑になりがちな場合や、データ構造に基づいた条件分岐を行いたい場合に有効です。

投稿者 admin

コメントを残す

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