読書実況 ▶︎ #38 The Python Tutorial — 9.5. Inheritance
気になった本を読み進めていく、読書実況 — 以前にプログラミング言語 Python を触ってみたとき "独特でよくわからない" 感じがしたので、そんな苦手意識を打開するべく『The Pyton Tutorial』を読み進めていってみることにします。よろしくお願いしますね。 #読書実況 ▶︎ The Python Tutorial — 今回は「[9.5. Inheritance](https://docs.python.org/3/tutorial/classes.html#inheritance)」から読み進めていきますね。 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 を対象に、継承を中心とした章を読みながら理解を確認しました。技術解説ではなく、ドキュメントの記述をたどって学習した内容の要点をまとめます。 - 継承の構文を確認:`class DerivedClassName(BaseClassName):`。基底クラスには式を置けるため、`module.BaseClass` のようにも書ける。 - 属性参照の解決規則:クラスに見つからなければ基底クラスへたどり、最終的に見つからなければ `AttributeError`。インスタンス化は `クラス名()`、メソッド参照は探索の結果、関数オブジェクトを得られればメソッドとして呼び出される。 - オーバーライドとディスパッチ:同一オブジェクト上の呼び出しは特権なしに通常の属性参照で行い(例:`self.methodname(args)`)、Python では実質「すべてのメソッドが virtual のように」動く。基底実装を明示的に呼ぶ書き方 `BaseClassName.method(self, ...)` も確認(そのクラス名がスコープから参照可能な場合)。 - 型判定の組み込み:`isinstance` と `issubclass`。具体例として、`issubclass(bool, int)` と `isinstance(True, int)` は 真、`True + True == 2`、`False * 10 == 0`。 - 多重継承:`class ClassName(Base1, Base2, ...)`。属性探索の基本方針は左から右で、同一クラスは一度だけ参照。`super()` を用いた協調的呼び出しと MRO(Method Resolution Order)に触れ、ダイヤモンド継承時も一貫した順序になること、単調性が保たれることを確認。 - 次回は 9.6 「プライベート変数」へ進みます。
Download
0 formatsNo download links available.