Динамически получать элементы dict через getattr?

Я хочу динамически запрашивать, какие объекты из класса я хотел бы получить. getattr похоже на то, что я хочу, и он отлично работает с объектами верхнего уровня в классе. Однако я хотел бы также указать подэлементы.

class MyObj(object):
    def __init__(self):
        self.d = {'a':1, 'b':2}
        self.c = 3

myobj = MyObj()
val = getattr(myobj, "c")
print val # Correctly prints 3
val = getattr(myobj, "d['a']") # Seemingly incorrectly formatted query
print val # Throws an AttributeError

Как получить элементы словаря объекта через строку?

5
задан user394430 1 February 2012 в 18:19
поделиться