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

yipeiwu_com6年前Python基础

如下所示:

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依赖包及其版本号信息的方法

查看Python依赖包及其版本号信息的方法

查看依赖包及对应的版本号信息的方法有两种: 方法1:pip list 方法2:pip freeze 这两个同时适用于Windows和Linux系统 当pip版本过低时,会出现list命...

Python调用C++,通过Pybind11制作Python接口

我是在ubuntu系统进行实验的,所以和window可能会有区别。 python调用C/C++有不少的方法,如boost.python, swig, ctypes, pybind11等,...

Flask框架信号用法实例分析

本文实例讲述了Flask框架信号用法。分享给大家供大家参考,具体如下: 项目功能复杂,代码量越大,就越需要做业务解耦。否则在其之上做开发和维护是很痛苦的,尤其是对于团队的新人。Flask...

python实现大转盘抽奖效果

python实现大转盘抽奖效果

本文实例为大家分享了python实现大转盘抽奖的具体代码,供大家参考,具体内容如下 选择转盘中的某一个方框,来进行抽奖 import tkinter #导入线程模块 import t...

python3实现elasticsearch批量更新数据

废话不多说,直接上代码! updateBody = { "query":{ "range":{ "write_date": { "g...