私はいくつかのコードをPythonに用意しています。クラスはたくさんあり、それぞれのクラスには属性_internal_attribute
があります。これらの属性の元のクラスへのマッピングを生成できるようにしたいと思います。基本的に私はこれを行うことができるようにしたいと思います:クラスのクラス属性をPythonのクラスに逆マッピングする
class A(object):
_internal_attribute = 'A attribute'
class B(object):
_internal_attribute = 'B attribute'
a_instance = magic_reverse_mapping['A attribute']()
b_instance = magic_reverse_mapping['B attribute']()
私はここに欠けている何magic_reverse_mapping
辞書を生成する方法です。私はメタクラスがAとBを生成することがこれについて正しい方法であると感じています。それは正しいようですか?
クラスデコレータには、Python> = 2.6が必要です。 – nikow
デコレータのソリューションは完璧と思われます。何らかの理由で私はクラスデコレータがPy3kだけだと思っていました。 PEP-3129は3kに含まれていると言っていて、2.6にも入っているとは言いません。 – wxs