Python 3.10以降、Pythonには公式のswitch-case文が導入されました。これにより、if-else文や辞書などを使用した代替手段を用いることなく、switch-case文を利用することが可能になりました。
Pythonのswitch-case文は、match-case
文とも呼ばれ、以下のように使用します。
sample = "hello"
match sample:
case int(x) if sample > 0:
print("sample is integer and greater than 0")
case str(x) if sample == "hello":
print("sample is string and 'hello'")
case int(x):
print("sample is integer")
case str(x):
print("sample is string")
case _:
print("other!")
上記のコードでは、sample
という変数に対してmatch-case
文を使用しています。case
文の後には、評価したい条件を記述します。この条件がTrue
と評価された場合、そのcase
文の後のコードが実行されます。
また、if
文を使用して、case
文の条件をさらに詳細化することも可能です。上記のコードでは、sample
が整数である場合、さらにその値が0より大きいかどうかを評価しています。
このように、Pythonのmatch-case
文を使用することで、より柔軟な条件分岐を実現することが可能です。特に、複数の条件を組み合わせて評価する場合や、特定の条件が満たされたときに特定の処理を行いたい場合に有効です。