Pythonでは、他の言語でよく見られるcase
文が直接サポートされていません。しかし、Pythonのif
、elif
、else
文を使用して、case
文に相当する処理を実装することが可能です。
Python 3.10からは、新たな機能として構造的パターンマッチングが導入されました。これにより、case
文に似た機能をPythonで利用することができます。
a:int = 2
match a:
case 1:
print("this is 1")
case 3:
print("this is 3")
case _:
print("Other") # Other
上記の例では、match
文とcase
文を使用して、変数a
の値に応じて異なる処理を行っています。この構文は、SQLのcase when
文に似ています。
また、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 is string and 'hello'
この例では、case
文とif
文を組み合わせて、sample
の値と型に応じて異なる処理を行っています。
Pythonのcase
文は、コードの可読性を高め、より直感的な条件分岐を可能にします。これにより、Pythonのコードは他の言語と同じように書けるようになり、より多くのプログラマーにとってアクセスしやすくなります。
以上がPythonでのcase
文の基本的な使い方となります。この機能を活用することで、Pythonのコードをより効率的に、そして直感的に書くことができます。