美文网首页
一道关于 Python 点操作符的笔试题

一道关于 Python 点操作符的笔试题

作者: tingshuo123 | 来源:发表于2019-05-13 11:12 被阅读0次

    题目

    请写一个类继承dict类,支持 . 方式访问
    mydict = Mydict()
    mydict.a = 1
    mydict.b = 2
    mydict.c.d = 3
    print mydict
    print mydict.c
    输出:
    {'a': 1, 'c': {'d': 3}, 'b': 2}
    {'d': 3}

    回答

    class MyDict(dict):
        def __getattr__(self, name):
            return self.setdefault(name, MyDict())
    
        def __setattr__(self, name, value):
            self[name] = value
    
    if __name__ == "__main__":
        dct = MyDict()
        dct.a = 1
        dct.b = 2
        dct.c.b = 3
    
        print(dct)
        print(dct.c)
    

    相关文章

      网友评论

          本文标题:一道关于 Python 点操作符的笔试题

          本文链接:https://www.haomeiwen.com/subject/yxhlaqtx.html