Pythonにおけるメタクラスの利用法

Pythonは動的型付け言語であり、関数やクラスの定義はコンパイル時に決定されるのではなく、実行中に動的に生成される点が静的型付け言語と大きく異なります。 たとえば、Helloというクラスを定義する際には、通常 hello.py モジュールを作成します: # hello.py class Hello(object): def hello(self, name='world'): print(f'Hello, {name}.') このモジュー ...

7月20日 23:04 投稿

Pythonのオブジェクト指向設計:クラスメンバー、特殊メソッド、メタプログラミングの実践

クラスメンバーの構成と動作原理 フィールド(属性)の格納領域とスコープ Pythonのクラスにおいてデータは、メモリ上の格納位置と所有権の違いから「インスタンス属性」と「クラス属性」に明確に区分されます。インスタンス属性は self を介して定義され、各オブジェクトが独立したメモリ領域を確保します。一方、クラス属性はクラス本体のネームスペースに格納され、すべ ...

6月22日 16:25 投稿