Python 3.10では、新たな構文であるmatch-caseが導入されました。この新機能は、より柔軟な条件分岐を可能にし、コードの可読性を向上させます。

match-case文の基本

match-case文は、値に応じた処理の分岐に使用します。具体的には、次のような形式で記述します:

match value:
    case pattern1:
        # do something
    case pattern2:
        # do something else
    ...

ここで、pattern1pattern2などは、マッチさせたいパターンを表します。パターンはリテラル、変数、データ構造など、さまざまな形式を取ることができます。

if文との比較

if文とmatch-case文の最大の違いは、if文がブール式を評価するのに対し、match-case文は構造的パターンマッチングを行う点です。これにより、match-case文は、複数のケースを一度にチェックしたり、辞書をインデックス化して直接結果を取得したりすることが可能になります。

実例

以下に、if文とmatch-case文を用いたFizzBuzz問題の解答例を示します。

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-case文を使用した場合

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-case文を使用すると、コードがよりシンプルになり、可読性が向上します。

以上、Python 3.10の新機能であるmatch-case文について簡単に紹介しました。この新機能を活用することで、PythonのコードがさらにPythonicになることでしょう。

投稿者 admin

コメントを残す

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