Python 3.10では、他のプログラミング言語で見られるスイッチ文に似た新機能が導入されました。この新機能は「構造的パターンマッチング」と呼ばれ、match
とcase
のキーワードを使用して実装されます。
Pythonでのスイッチ文の代替手段
Pythonでは、バージョン3.10までスイッチ文の機能を直接サポートしていませんでした。そのため、複数の条件文を実行するためには、elif
キーワードを使用する必要がありました。
しかし、Python 3.10以降では、match
とcase
のキーワードを使用してスイッチ文を実装することが可能になりました。
Python 3.10のmatch-case文の基本構文
Python 3.10のmatch-case文の基本構文は以下の通りです。
match term:
case pattern-1:
action-1
case pattern-2:
action-2
case pattern-3:
action-3
case _:
action-default
ここで、アンダースコア記号_
は、Pythonのスイッチ文でデフォルトケースを定義するために使用します。
match-case文の使用例
以下に、match-case文を使用したPython 3.10のコード例を示します。
lang = input("What's the programming language you want to learn? ")
match lang:
case "JavaScript":
print("You can become a web developer.")
case "Python":
print("You can become a Data Scientist")
case "PHP":
print("You can become a backend developer")
case "Solidity":
print("You can become a Blockchain developer")
case "Java":
print("You can become a mobile app developer")
case _:
print("The language doesn't matter, what matters is solving problems.")
このコードは、ユーザーが学びたいプログラミング言語を入力すると、その言語を学ぶことで何になれるかを出力します。
以上、Python 3.10の新機能であるmatch-case文について解説しました。この新機能を活用することで、Pythonでも他のプログラミング言語のようなスイッチ文を実装することが可能になります。