Python:メタクラス
何らかのクラスを生成するクラスです。
クラス定義を行うと、クラス名、 クラス辞書、そして基底クラスからなるリストが生成されます。
メタクラスはこれらの三つを引数として取り、メタクラスを生成する 働きをします。
ほとんどのオブジェクト指向プログラム言語には、メタクラスに対するデフォルトの実装があります。
Python の特徴的な点は、 自作のメタクラスを作成できることです。
ほとんどのユーザにとって、このツールはまったく必要のないものですが、必要さえあれば、メタクラスは 強力でエレガントな問題解決手段になります。
メタクラスは、属性へのアクセスをログに記録したり、システムをスレッド安全にしたり、 オブジェクトの生成の追跡したり、単集合を実装したり、そしてその他多くのタスクで使われてきています。