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

题目

请写一个类继承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)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 人的一生会做很多很多梦,有美梦,有噩梦,梦里边有时候我们无所不能,有时候又无可奈何。梦里有花香鸟语,梦里也有纷纷扰...
    文卓也阅读 268评论 0 0
  • 战旗猎猎迎风展 马龙演兵激战忙 昨日黄花为何殇 血洒疆场今日还
    似冰的梦阅读 234评论 0 1
  • 作者/加拿大 迈克尔.布洛克 春天的第一只蝴蝶 身披橙色和紫色, 从我的路上飞过 一朵飞行的花 改变了我生...
    唐金秀阅读 1,813评论 15 37
  • 大学就像是一个广阔的舞台,虽然我们都能在这里找到自己的位置,但是你若想站在舞台的中央,就必须得有超强的实力。...
    简悦凌一阅读 298评论 0 1
  • 静候春归 立春过后,天气突然又变得恶劣起来:气温骤降至零度以下,连续多天的大雪,让春节前后两天的冬日暖阳带...
    5780933168ec阅读 868评论 0 8

友情链接更多精彩内容