5章クラスと継承
オブジェクト指向プログラミング言語として、Pythonは、継承、ポリモルフィズム、カプセル化などの全機能をサポートしています。Pythonで仕事を片付けるには、新たなクラスを書いて、そのインタフェースと階層とから、どのように相互作用するかを定義することが必要なことがあります。
Pythonのクラスと継承により、プログラムのオブジェクトによる意図した振る舞いを簡単に表現できます。長期間にわたって、機能を改善したり拡張したりできます。要件が変化する環境において、柔軟性をもたらします。これらをどのように使うべきかをよく知ることによって、保守可能なコードが書けるのです。
項目37 組み込み型の深い入れ子にはせずクラスを作成する
Pythonの組み込み型の辞書型は、オブジェクトの生存期間にわたって動的な内部状態を保持するのに適しています。動的という言葉は、未知の識別子を記録管理する必要がある状況を意味します。例えば、名前が前もってわかっていない学生集団の成績を記録するとします。学生ごとに事前に定義された属性を使う代わりに、辞書に名前を格納するクラスを定義できます。
class SimpleGradebook: def __init__(self): self._grades = {} def add_student(self, name): self._grades[name] = [] def report_grade(self, name, score): self._grades[name].append(score) def average_grade(self, name): grades = self._grades[name] return sum(grades) ...
Get Effective Python 第2版 ―Pythonプログラムを改良する90項目 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.