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中使用成员运算符的示例
May 13 Python
12步教你理解Python装饰器
Feb 25 Python
Python中不同进制的语法及转换方法分析
Jul 27 Python
Python 字符串大小写转换的简单实例
Jan 21 Python
Python变量赋值的秘密分享
Apr 03 Python
使用NumPy和pandas对CSV文件进行写操作的实例
Jun 14 Python
python实现列表中由数值查到索引的方法
Jun 27 Python
django多个APP的urls设置方法(views重复问题解决)
Jul 19 Python
Spring Cloud Feign高级应用实例详解
Dec 10 Python
python把一个字符串切开的实例方法
Sep 27 Python
pycharm部署django项目到云服务器的详细流程
Jun 29 Python
基于Python实现将列表数据生成折线图
Mar 23 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
PHP Memcached应用实现代码
2010/02/08 PHP
php empty()与isset()区别的详细介绍
2013/06/17 PHP
使用openssl实现rsa非对称加密算法示例
2014/01/24 PHP
php实现与erlang的二进制通讯实例解析
2014/07/23 PHP
php提示Failed to write session data错误的解决方法
2014/12/17 PHP
php获取错误信息的方法
2015/07/17 PHP
php mysql实现mysql_select_db选择数据库
2016/12/30 PHP
PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
2017/02/05 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
2018/06/16 PHP
PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
2019/06/13 PHP
laravel框架之数据库查出来的对象实现转化为数组
2019/10/23 PHP
做网页的一些技巧(续)
2007/02/01 Javascript
javascript encodeURI和encodeURIComponent的比较
2010/04/03 Javascript
javascript数组详解
2014/10/22 Javascript
JS控制表单提交的方法
2015/07/09 Javascript
javascript正则表达式定义(语法)总结
2016/01/08 Javascript
简单谈谈json跨域
2016/03/13 Javascript
jQuery+CSS3实现点赞功能
2017/03/13 Javascript
js循环map 获取所有的key和value的实现代码(json)
2018/05/09 Javascript
vue 监听某个div垂直滚动条下拉到底部的方法
2018/09/15 Javascript
angularJs select绑定的model取不到值的解决方法
2018/10/08 Javascript
python实现问号表达式(?)的方法
2013/11/27 Python
python操作CouchDB的方法
2014/10/08 Python
web.py在SAE中的Session问题解决方法(使用mysql存储)
2015/06/24 Python
python 异常处理总结
2016/10/18 Python
Python常用内置模块之xml模块(详解)
2017/05/23 Python
Tensorflow实现神经网络拟合线性回归
2019/07/19 Python
Python实现对adb命令封装
2020/03/06 Python
基于PyQT实现区分左键双击和单击
2020/05/19 Python
sleep()方法和wait()方法的区别是什么
2012/11/17 面试题
青年教师听课心得体会
2016/01/15 职场文书
感恩信:写给爸爸妈妈的一封感谢信
2019/09/12 职场文书
我对PyTorch dataloader里的shuffle=True的理解
2021/05/20 Python
聊聊pytorch测试的时候为何要加上model.eval()
2021/05/23 Python
Python Pandas常用函数方法总结
2021/06/15 Python
centos8安装MongoDB的详细过程
2021/10/24 MongoDB