読書実況 ▶︎ #9 The Python Tutorial — 4.7. match Statements
気になった本を読み進めていく、読書実況 — 以前にプログラミング言語 Python を触ってみたとき "独特でよくわからない" 感じがしたので、そんな苦手意識を打開するべく『The Pyton Tutorial』を読み進めていってみることにします。よろしくお願いしますね。 今回は「[4. More Control Flow Tools](https://docs.python.org/3/tutorial/controlflow.html)」の “4.7. match Statements” から読み進めていきますね。 The Python Tutorial: https://docs.python.org/3/tutorial/ 各回の詳細情報: https://slime-caraway-717.notion.site/The-Python-Tutorial-2feda80f2c3b8180b655e81f5e371663?pvs=74 ■ ダイジェスト この動画は、技術書の読書実況として Python 公式チュートリアルの「マッチステートメント」を読み進めた回です。解説というより、読み進めながら要点を確認しています。以下の技術的ポイントに具体的に着目しました。 ・`match` の基本動作と Swift の `switch` との違い(非網羅、未マッチ時は何も起こらない) ・リテラルパターン、ワイルドカード `case _:`、`|` による OR パターン(`case 401 | 403 | 404:` など) ・タプル/リストのシーケンスパターンとアンパック対応(`*rest`、`*_` など)。イテレータと文字列は対象外 ・クラスパターン `Point(x, y)` と属性バインド、`__match_args__` による位置対応、キーワード形式 ・変数キャプチャの規則(スタンドアロン名だけが束縛。`obj.x` などは束縛しない)。名前付き定数はドット付きで記述 ・ネストしたパターンと `as` による部分パターンの同時バインド(例:`Point(x, y) as p`) ・ガード `if` の付与と評価順(先にキャプチャ、後で条件判定) ・リテラル比較の規則(多くは等価比較、`True`・`False`・`None` は同一性でマッチ) ・マッピングパターン(余分なキーは無視、`**rest` で残りを受け取れる) ・HTTP ステータスコードを例にしたリテラルパターン(`case 400`、`case 404` など) 読み手として確認した内容をそのまま辿っています。Python の `match` を、アンパック代入の拡張として読む視点や、スタンドアロン名だけがキャプチャされるというルールを柱に整理しました。
Download
0 formatsNo download links available.