November 2025
Intermediate to advanced
984 pages
16h 17m
Japanese
ライブラリやフレームワークがPythonicであるためには、Pythonプログラマーが処理の方法を容易かつ自然に選べるようにする必要があります。
—— Martijn Faassen
PythonやJavaScriptのフレームワークの開発者†1
[†1] Faassenによるブログ記事『What is Pythonic?』(https://fpy.li/11-1)より。
Pythonにはデータモデルがあるので、ユーザー定義型にも組み込み型と同じような自然なふるまいを与えることができます。継承なしにこれを実現できるのは、ダックタイピングが使われているためです。適切なメソッドを実装するだけで、オブジェクトが期待通りにふるまうようになります。
ここまでの章では、さまざまな組み込みのオブジェクトについてふるまいを学んできました。そしてこの章では、本来のPythonのオブジェクトのようにふるまうユーザー定義のクラスを作成します。アプリケーションのクラスでは、この章で紹介する特殊メソッドをすべて実装する必要はないかもしれません。しかしライブラリやフレームワークを開発しているなら、その利用者たちは標準で提供されるクラスと同等のふるまいを期待しています。この期待に添うことが、Pythonicであるための要素の1つです。
この章は「1章 Pythonのデータモデル」の続きとして、Pythonのさまざまな型でよく使われる特殊メソッドの実装方法を明らかにします。
具体的には以下のトピックを取り上げます。
repr()、bytes()、complex()などRead now
Unlock full access