Python 3.10から導入された新機能、match-case
文について解説します。この機能は、従来のif-elif-else
文に代わる、より直感的で可読性の高い条件分岐を可能にします。
match-case文とは
match-case
文は、値に応じた処理の分岐に使用する構文です。条件分岐が厳密に定められ、条件が入れ子になってしまった場合でもスッキリとまとまります。
具体的な使い方
以下に、match-case
文の使用例を示します。
FizzBuzz問題
FizzBuzz問題は、1から100までの数字で、3の倍数ならFizz、5の倍数ならBuzz、両方に当てはまるなら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
文を使って書き換えると以下のようになります。
# 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
文は、従来のif-elif-else
文に代わる新たな条件分岐の方法を提供します。これにより、コードの可読性が向上し、より複雑な条件分岐をスマートに書くことが可能になります。