さまざまな「ツール」を表す一連のクラスがあり、それぞれに ID キー、説明、タイトル、その他の定数があります。これらはすべて「GenericTool」クラスからサブクラス化されています。
すべてのサブクラスの ID を基に辞書を作成する方法が必要です。これにより、ID を指定して定数を簡単に検索できますが、中央の辞書を維持する必要はありません。
たとえば、ファイルtools/toola.py
import generic_tool as GT
class ToolA(GT.GenericTool):
title = "Tool A"
id = "tool_a"
ファイルtools/toolb.py
import generic_tool as GT
class ToolB(GT.GenericTool):
title = "Tool B"
id = "tool_b"
私はこのような辞書で終わりたいと思います:
{ 'tool_a': {'title': 'Tool A'},
'tool_b': {'title': 'Tool B'} }
メタクラスの使用とスーパークラスのコードを調べました__init__()
が、これらはクラスの実行時の作成に影響を与えるようですが、モジュールが最初にインポートされたときに一度だけ行うことに関心があります。