2014-01-11 2 views
1

Я использую структуру, которая имеет класс, похожий на этот:Как я могу динамически получить значение переменной класса?

class foo: 
    bar = 1 
    baz = 2 

И тогда у меня есть входной переменный, содержащая строка, равное имя одного из этих переменного класса. Я знаю для словаря, вы можете сделать dict [variable], чтобы динамически выбирать нужное поле; существует ли аналогичный синтаксис для получения переменной класса?

ответ

1

Для любого объекта вы можете использовать getattr. В вашем случае вы применяете его к объекту класса , потому что bar является членом объекта класса.

attr = 'bar' 
getattr(foo, attr) # <=> foo.bar 
+1

Отлично, спасибо! – Ari

Смежные вопросы