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なコードを書くことができるでしょう。