У меня есть код на 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
Dict. У меня есть ощущение, что наличие метакласса A и B - правильный способ сделать это; это кажется правильным?
Обратите внимание, что для декоратора класса требуется Python> = 2.6. – nikow
Решение декоратора кажется идеальным, по какой-то причине я думал, что декораторы класса были только Py3k. Я обвиняю PEP-3129 в том, что они включены в 3k и не упоминают, что они также находятся в версии 2.6. – wxs