【Python】Python ~ match文 ~

■ はじめに

https://qiita.com/python_academia/items/a54a6d1dcc5a12875c88

を読んでいた際に、
Scala で気に入っている match文が、Python3.10以降から
使えるとのことので、メモっておく

目次

【1】match文
 1)使用上の注意
【2】サンプル
 例1:Hello World

【1】match文

* 条件分岐の一種
* Scala の match と同じ

Scala ~ 基本編 / パターンマッチング ~
https://dk521123.hatenablog.com/entry/2023/06/06/233614

1)使用上の注意

* Python 3.10 から

https://docs.python.org/3/whatsnew/3.10.html#pep-634-structural-pattern-matching

【2】サンプル

例1:Hello World

def http_error(status):
  match status:
    case 200:
      return "OK"
    case 404:
      return "Not found"
    case 500:
      return "Server error"
    case _:
      return "Error..."


for code in (404, 500, 200, 509):
  print(f"{code} - {http_error(code)}")

# 404 - Not found
# 500 - Server error
# 200 - OK
# 509 - Error...

参考文献

https://atmarkit.itmedia.co.jp/ait/articles/2307/04/news017.html
https://qiita.com/ksato9700/items/3ce4c68c0d713874b693
https://www.kikagaku.co.jp/kikagaku-blog/match/

関連記事

Python ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2014/08/07/231242
Python ~ 基本編 / 文字列 ~
https://dk521123.hatenablog.com/entry/2019/10/12/075251
Python ~ 基本編 / 条件分岐 ~
https://dk521123.hatenablog.com/entry/2020/07/17/000000
Python ~ 可変長引数 / args, kwargs ~
https://dk521123.hatenablog.com/entry/2023/11/01/000915
Python ~ 基本編 / 辞書 ~
https://dk521123.hatenablog.com/entry/2019/10/27/100014
Python ~ 基本編 / 辞書・あれこれ ~
https://dk521123.hatenablog.com/entry/2020/10/11/000000
Python ~ Parquet ~
https://dk521123.hatenablog.com/entry/2021/11/13/095519