June 2024
Intermediate to advanced
864 pages
12h 14m
Japanese
Pythonはオブジェクト指向(OO)のプログラミング言語である。ただし、他のオブジェクト指向言語とは異なり、Pythonではオブジェクト指向のパラダイムだけを使うことは強制されない。モジュールと関数を使う手続き型のプログラミングもサポートされているため、プログラムの部分ごとに最適なパラダイムを選択できる。オブジェクト指向のパラダイムは、状態(データ)と振る舞い(コード)をまとめて、便利な機能の詰め合わせにしたい場合に役立つ。Pythonでは、継承(inheritance)や特殊メソッド(special method)など、本章で説明する特別なメカニズムもサポートされている。オブジェクト指向プログラミングのこうした利点†1が必要なければ、モジュールと関数を使うより単純な手続き型のアプローチのほうが適しているかもしれない。Pythonでは、これらのパラダイムを自由に組み合わせることができる。
本章では、OOの中核的な概念に加えて、抽象基底クラス、デコレータ、メタクラスも取り上げる。
C++やJavaのような他のOO言語でのオブジェクト指向プログラミングに慣れているとしたら、おそらくクラスとインスタンスのことはよく知っているはずだ。クラスとはユーザー定義型のことであり、インスタンス(その型のオブジェクト)を構築するためにインスタンス化する。Pythonでは、これをそのクラスとインスタンスオブジェクトを通じてサポートしている。
クラスとは、次の特性を持つPythonオブジェクトのことである。
Read now
Unlock full access