通过属性名获取字典的值,只需要从dict继承,并将__dict__属性设置为字典本身即可:

1class attr_dict(dict):
2    def __init__(self, *args, **kw):
3        dict.__init__(self, *args, **kw)
4        self.__dict__ = self

例如:

1>>> ad = attr_dict([("a",1),("b",2)])
2>>> ad.a
31
4>>> ad.c = 10
5>>> ad
6{'a': 1, 'b': 2, 'c': 10}