C/C++教程

MyDict类

本文主要是介绍MyDict类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
class MyDict(dict):
    def __getattr__(self, item):
        value = self.get(item)
        if type(value) == dict:
            value = MyDict(value)
        if isinstance(value,list) or isinstance(value,tuple):
            value = list(value)
            for index,v in enumerate(value):
                if isinstance(v,dict):
                    value[index] = MyDict(v)
        return value
        #是这个对象在没有某个属性的话,会调用它

if __name__ == '__main__':

        #魔法方法
    d1 = {"name":"wkf","addr":"北京","info":{"city":"深圳","cars":{"name":"bmw"}},
          "phones":({"name":"huawei","price":50000},{"name":"xiaomi","price":11})
          }

    d = MyDict(d1)
    print(d.name)

 

这篇关于MyDict类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!