Pythonの新機能「パターンマッチ」を1分で解説
スポンサードリンク
おはようございます。Shotaです。
今回の記事では、Python 3.10.0に新しく追加された「パターンマッチ」にざっくりと1分で解説します。
それでは早速、本題に入りましょう。
概要
Pythonにはオブジェクトを分解してデータを取り出す良い方法がありません。Python3.10では、Pythonにパターンマッチ構文を使ってheterogeneous data
(ある変数が複数のデータ型を取りうること)がやりやすくなり、よりシンプルにコードを書けるようになりました。
Pythonのパターンマッチ
新しいパターンマッチ構文は予約語match
やcase
を用います。
number = 2 match number: case 0: print("Nothing") case 1: print("Just one") case 2: print("A couple") case -1: print("One less than nothing")
▼実行結果
A couple
Pythonのパターンマッチでは、match: value
で指定した値にマッチする条件を持つcase
ブロックを見つけ、その処理を実行します。
一致するcase
が見つからない場合は、パターンが_
の処理が実行されます。_
はワイルドカードと言います。
Pythonでパターンマッチが使えるようになり、特定の値をif
やelif
の文構造でまとめる手間を省けるようになりました。感覚的にはJavaScriptのswitch
、case
文と非常に似ていますね。
ただし、10+1
のような式はcase
のパターンには使えません。パターンの文法は、通常のPythonの式とまったく違います。
まとめ、所感
今回の記事では、Pythonの新機能であるパターンマッチを1分で紹介しました。パターンマッチはけっこう複雑で、ここで紹介されてあるのはごく一部に過ぎません。
まだまだ新しい機能なので、仕様が十分に詰められていない部分も残っています。
しかし、非常に便利な機能が多く、これからのPythonプログラミングの重要な位置を占めるでしょう。ぜひともマスターしてください。