October 2017
Intermediate to advanced
832 pages
13h 34m
Japanese
絶対に、2個のアンダースコアを先付けしないでください。うっとうしいことに、これはプライベート変数です。
——Ian Bickingpip、virtualenv、Paste、その他多数のプロジェクトのクリエータ「Paste Style Guide」より[09-01]
Pythonのデータモデルのおかげで、ユーザ定義型は組み込み型と同じくらい自然に動作します。オブジェクトに必要なメソッドをダックタイピングの精神で実装するだけで、継承を使わなくても、思ったとおりに動作します。
ここまで、いろいろな組み込みオブジェクトの構造と動作を説明してきました。では、本物のPythonオブジェクトとして動作するユーザ定義クラスを構築しましょう。
本章は1章が終わったところから、つまりいろいろな異なる型のPythonオブジェクトで一般的に見られる特殊メソッドの実装方法を示すところから始まります。
本章では、次の方法を説明します。
repr()やbytes()など、オブジェクトを異なる表現で示す各種の組み込み関数を使えるようにする方法format()やstr.format()メソッドが用いる書式指定ミニ言語の拡張方法dictのキーとして利用するためのハッシュ可能オブジェクト__slots__によるメモリの節約これらはすべて、簡単な2次元ユークリッドベクトル型を作成しながらやっていきます。
ベクトル型を徐々に発展させていく途中で、次の2つのテーマを議論します。
@classmethodおよび@staticmethodデコレータをいつ、どのように使用すべきか ...Read now
Unlock full access