Python Languageメタクラス


前書き

メタクラスでは、新しいクラスがデフォルトで使用するtypeメタクラスを置き換えることで、Pythonクラスの動作(定義、インスタンス化、アクセスなどの点で)を深く変更することができます。

備考

アーキテクチャーを設計するときは、メタクラスで達成できる多くのことを、よりシンプルなセマンティクスを使用して達成できることも考慮してください。

  • 伝統的な継承はしばしば十分です。
  • クラスデコレータは、機能をアドホックアプローチでクラスに組み込むことができます。
  • Python 3.6には__init_subclass__()が導入されている__init_subclass__() 、クラスはそのサブクラスの作成に参加できます。

メタクラス 関連する例