Python3.10で追加されたパターンマッチ

ここ最近はPythonを使うことがほとんどなかったので久しぶりに今のバージョンってどうなってるかなと
思ってみてみるとパターンマッチが追加されていた。

はてどんなのかとみてみると
https://docs.python.org/ja/3.10/whatsnew/3.10.html#pep-634-structural-pattern-matching

おなじみのswitch~caseか
どうやら以前から導入を検討されていたようだが結果的には採用にはいたらなかったと。

上記のようにもかけるのでフォールスルーで書いたりしなくてもこれでいけると。(C#とかフォールスルーをそもそも禁止しているところもあるが)

もし

の記載がなかった場合(ほかの言語だとdefault)

よくありがちないずれにも該当しないとき、上記の記述だと”None”と返されるようになる。
しっかりとcase _を忘れずに書きましょう。

タプルも使える。

さらにクラスにも使える。もしpointに数値とかクラスでない場合はcase _に該当すると。

このほかにも辞書のマッチもできるということなので「なんだただのcaseの追加か」と思ってたらだいぶ違っていました。

About the author

naito06

C++やったり、PythonやったりPHPだったり。

Add Comment

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

By naito06

最近の投稿

アーカイブ

カテゴリー

タグクラウド

コーポレートサイト