程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

Python 高级编程和异步IO并发编程 --06_3 dict的子类

发布于2020-03-20 13:18     阅读(1715)     评论(0)     点赞(11)     收藏(2)


  1. # 不建议继承list和dict
  2. class Mydict(dict):
  3. def __setitem__(self,key,value):
  4. super().__setitem__(key,value*2)
  5. my_dict = Mydict(one=1) # {'one': 1}, 此时并没有去调用super函数的2
  6. print(my_dict)
  7. my_dict["one"] = 1 # {'one': 2}, 此时调用了super函数的2
  8. print(my_dict)
  9. # 是因为,有些情况下,C语言写的类,不会去调用某些覆盖的方法,因此不建议继承dict
  1. {'one': 1}
  2. {'one': 2}
  1. # 如果一定要继承dict
  2. from collections import UserDict
  3. class Mydict(UserDict):
  4. def __setitem__(self,key,value):
  5. super().__setitem__(key,value*2)
  6. my_dict = Mydict(one=1) # {'one': 2}, 此时调用了super函数的2
  7. print(my_dict)
  8. my_dict["one"] = 1 # {'one': 2}, 此时调用了super函数的2
  9. print(my_dict)
  1. {'one': 2}
  2. {'one': 2}
  1. from collections import defaultdict
  2. my_dict = defaultdict(dict)
  3. my_value = my_dict["Tom"] # 如果该值没有时,则直接调用__missing__,生成一个空字典
  4. print(my_value)
{}

 

原文链接:https://blog.csdn.net/f2157120/article/details/104960052



所属网站分类: 技术文章 > 博客

作者:dfd323

链接:https://www.pythonheidong.com/blog/article/271165/0bff70896a75d96bdc75/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

11 0
收藏该文
已收藏

评论内容:(最多支持255个字符)