Back to Browse

読書実況 ▶︎ #41 The Python Tutorial — 9.8. Iterators

14 views
Streamed live on May 4, 2026
1:04:40

気になった本を読み進めていく、読書実況 — 以前にプログラミング言語 Python を触ってみたとき "独特でよくわからない" 感じがしたので、そんな苦手意識を打開するべく『The Pyton Tutorial』を読み進めていってみることにします。よろしくお願いしますね。 #読書実況 ▶︎ The Python Tutorial — 今回は「9.8. Iterators」から読み進めていきますね。 The Python Tutorial: https://docs.python.org/3/tutorial/ 各回の詳細情報: https://slime-caraway-717.notion.site/The-Python-Tutorial-2feda80f2c3b8180b655e81f5e371663?pvs=74 ■ ダイジェスト 技術書を読み進める録画です。Python 公式ドキュメント The Python Tutorial の「クラス」章から、継承ではなく `for` による反復とその基盤となる仕組みを学びました。 動画内で具体的に扱った内容: - イテレータ: `for` 文が `iter()` を呼び、`__next__()` で要素を返し、尽きると `StopIteration` を送出するプロトコルを確認。`next()` による要素取得も試し、クラス実装例 `Reverse`(`__iter__()` が `self` を返し、`__next__()` が末尾から要素を返す)を読みました。 - ジェネレーター: 関数内の `yield` で簡潔にイテレータを作れることを確認。中断位置とローカル状態が保持され、終了時は自動で `StopIteration`。逆順に値を返す `reverse` の例を追いました。 - ジェネレーター式: `[]` ではなく `()` を使う書き方を確認し、`sum` などに直接渡す用法を読みました。例として `sum(i * i for i in range(10))`、ユニーク語抽出の `set(word for line in page for word in line.split())` を扱いました。 - `max` と `key=`: 手を動かして比較キーの指定を確認。`@dataclass` な `Student` (`gpa: float`, `name: str`)を用意し、`max(graduates, key=lambda s: s.gpa)` や同点時のための `key=lambda s: (s.gpa, s.name)` を試しました。ジェネレーター式でタプルを生成しているのに `x.gpa` のように属性参照してエラーになるケースや、`max` へのジェネレーター式の丸括弧省略の記述にも触れています。 技術解説というより、ドキュメントを読み進めながら挙動を確かめ、書き方の癖や構文上の注意点を学んでいく内容です。

Download

0 formats

No download links available.

読書実況 ▶︎ #41 The Python Tutorial — 9.8. Iterators | NatokHD