Python 3.10から導入された新機能、match-case文について解説します。この機能は、値に応じた処理の分岐を行うための構文で、条件分岐が厳密に定められることや、条件が入れ子になってしまった場合にもスッキリとまとまることが特徴です。

match-case文の基本的な使い方

まずは基本的な使い方から見ていきましょう。以下にFizzBuzz問題を解くためのコードを示します。この問題は、1から100までの数字の内、3の倍数ならFizz、5の倍数ならBuzz、両方に当てはまるならFizzBuzzを返すというものです。

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文を使ってiの値に応じて異なる処理を行っています。case文の後ろには条件を記述し、その条件が満たされた場合にその後の処理が実行されます。_はワイルドカードとして機能し、どのcase文の条件も満たされなかった場合に実行されます。

match-case文の応用

次に、HTTPステータスコードを分岐させる例を見てみましょう。

http_status = 404
match http_status:
    case 200:
        print("OK")
    case 404:
        print("Not Found")
    case 334:
        print("なんでや阪神関係ないやろ")

このコードでは、http_statusの値に応じて異なるメッセージを出力しています。match-case文を使うことで、条件に必要な変数の記載がない分、コードがスッキリと見えます。

以上、Python 3.10のmatch-case文についての基本的な使い方と応用例を紹介しました。この機能を理解し、適切に活用することで、よりPythonicなコードを書くことができるでしょう。

投稿者 admin

コメントを残す

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