Python自定义一个类实现字典dict功能的方法


Posted in Python onJanuary 19, 2019

如下所示:

import collections


class Mydict(collections.UserDict):


  def __missing__(self, key):
    if isinstance(key, str):
      raise KeyError(key)
    return self[str(key)]

  def __contains__(self, key):
    return str(key) in self.data

  def __setitem__(self, key, item):
    self.data[str(key)] = item

  def __getattr__(self, key):
    return self.data[str(key)]


if __name__ == '__main__':
  mydict = Mydict((('a',1),('c',('d',3)),('b',2)))

  print(mydict)
  print(mydict.a)
  print(mydict['a'])

以上这篇Python自定义一个类实现字典dict功能的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python简单实现获取当前时间
Aug 27 Python
Python中关于Sequence切片的下标问题详解
Jun 15 Python
python中的计时器timeit的使用方法
Oct 20 Python
使用python爬虫实现网络股票信息爬取的demo
Jan 05 Python
详解Python 实现元胞自动机中的生命游戏(Game of life)
Jan 27 Python
对python opencv 添加文字 cv2.putText 的各参数介绍
Dec 05 Python
详解python中@的用法
Mar 27 Python
python实现beta分布概率密度函数的方法
Jul 08 Python
Python Django 命名空间模式的实现
Aug 09 Python
Python破解BiliBili滑块验证码的思路详解(完美避开人机识别)
Feb 17 Python
python ffmpeg任意提取视频帧的方法
Feb 21 Python
PyQt5 界面显示无响应的实现
Mar 26 Python
解决pycharm工程启动卡住没反应的问题
Jan 19 #Python
解决安装pycharm后不能执行python脚本的问题
Jan 19 #Python
关于Pycharm无法debug问题的总结
Jan 19 #Python
使用pycharm设置控制台不换行的操作方法
Jan 19 #Python
解决使用PyCharm时无法启动控制台的问题
Jan 19 #Python
Python设计模式之代理模式实例详解
Jan 19 #Python
用Python PIL实现几个简单的图片特效
Jan 18 #Python
You might like
ajax在joomla中的原生态应用代码
2012/07/19 PHP
浅析php数据类型转换
2014/01/09 PHP
php上传功能集后缀名判断和随机命名(强力推荐)
2015/09/10 PHP
Yii框架连接mongodb数据库的代码
2016/07/27 PHP
php无限级分类实现方法分析
2016/10/19 PHP
PHP将字符串首字母大小写转换的实例
2017/01/21 PHP
用js统计用户下载网页所需时间的脚本
2008/10/15 Javascript
extjs grid取到数据而不显示的解决
2008/12/29 Javascript
CSS3,HTML5和jQuery搜索框集锦
2014/12/02 Javascript
JQuery实现展开关闭层的方法
2015/02/17 Javascript
JS的框架Polymer中的dom-if和is属性使用说明
2015/07/29 Javascript
javascript定义类和类的实现实例详解
2015/12/01 Javascript
javascript学习小结之prototype
2015/12/03 Javascript
javascript和jQuery实现网页实时聊天的ajax长轮询
2016/07/20 Javascript
JS/jQuery判断DOM节点是否存在的简单方法
2016/11/24 Javascript
JS请求servlet功能示例
2017/06/01 Javascript
VueJs组件之父子通讯的方式
2018/05/06 Javascript
vue项目实现github在线预览功能
2018/06/20 Javascript
axios向后台传递数组作为参数的方法
2018/08/11 Javascript
Bootstrap实现模态框效果
2019/09/30 Javascript
js 对象使用的小技巧实例分析
2019/11/08 Javascript
vue实现两个组件之间数据共享和修改操作
2020/11/12 Javascript
Javascript 模拟mvc实现点餐程序案例详解
2020/12/24 Javascript
[56:24]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#1Liquid VS MVP.Phx第二局
2016/03/04 DOTA
Python程序员开发中常犯的10个错误
2014/07/07 Python
python3 pillow生成简单验证码图片的示例
2017/09/19 Python
树莓派+摄像头实现对移动物体的检测
2019/06/22 Python
Pytest单元测试框架如何实现参数化
2020/09/05 Python
CSS3 animation实现逐帧动画效果
2016/06/02 HTML / CSS
香蕉共和国加拿大官网:Banana Republic加拿大
2018/08/06 全球购物
Dr. Martens马汀博士澳大利亚官网:马丁靴鼻祖
2019/07/02 全球购物
优秀女职工事迹材料
2014/02/06 职场文书
2014离婚协议书范文
2014/09/10 职场文书
实习感想范文
2015/08/10 职场文书
毕业设计工作总结
2015/08/14 职场文书
创业计划书之面包店
2019/09/17 职场文书