読書実況 ▶︎ #40 The Python Tutorial — 9.7. Odds and Ends
気になった本を読み進めていく、読書実況 — 以前にプログラミング言語 Python を触ってみたとき "独特でよくわからない" 感じがしたので、そんな苦手意識を打開するべく『The Pyton Tutorial』を読み進めていってみることにします。よろしくお願いしますね。 #読書実況 ▶︎ The Python Tutorial — 今回は「9.7. Odds and Ends」から読み進めていきますね。 The Python Tutorial: https://docs.python.org/3/tutorial/ 各回の詳細情報: https://slime-caraway-717.notion.site/The-Python-Tutorial-2feda80f2c3b8180b655e81f5e371663?pvs=74 ■ ダイジェスト 技術書を読み進める様子の録画です。Python チュートリアルの クラス 章「 Odds and Ends 」を読みながら学習した回で、以下の技術的な話題に具体的に着目しました。Pascal のレコードや C の `struct` に相当する構造を、Python では `dataclasses` の `@dataclass` で表すという慣用的アプローチを確認。`Employee`、`name`、`dept` の例に触れ、略語より明示的な命名やチーム合意の重要性を検討しました。ダックタイピングと抽象データ型( ADT )について、`read`/`readline` を備えるオブジェクトならファイルの代替として関数に渡せる点を整理し、`io.TextIOWrapper` と `io.StringIO` を具体例に、ADT を「操作の集合+意味(契約)」として捉えることを学びました。メソッドオブジェクトと関数オブジェクトの違いでは、バウンドメソッドの属性 `m.__self__`、`m.__func__` に触れ、「メソッド=関数+対象インスタンス」という理解を確認。`@dataclass` の効果として、型アノテーションからフィールドを読み取り `__init__`、`__repr__`、等価比較を自動生成し、`order=True` によるフィールド定義順の辞書順比較、`frozen=True` による不変化、`slots=True` によるメモリ効率化を扱いました。`__slots__` では、インスタンスから `__dict__` を外して固定長スロットで属性を保持し、フットプリントと属性アクセスのオーバーヘッドを削減する仕組み、動的な属性追加ができない点、`weakref` 利用時の `__weakref__` の必要性を確認。あわせて、`@dataclass` は言語コアではなくデコレータである位置づけであることも押さえています。なお「イテレータ」は言及のみで、本編の中心は上記の話題です。技術解説というより、原典を読みながら理解を深めていく過程を記録しています。
Download
0 formatsNo download links available.