Я хочу динамически запрашивать, какие объекты из класса я хотел бы получить. 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
Как получить элементы словаря объекта через строку?