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 turtle 绘制太极图的实例

python turtle 绘制太极图的实例

效果如下所示: # -*- coding: utf-8 -*- import turtle # 绘制太极图函数 def draw_TJT(R):    ...

Python面向对象之静态属性、类方法与静态方法分析

本文实例讲述了Python面向对象之静态属性、类方法与静态方法。分享给大家供大家参考,具体如下: 1. 静态属性:在函数前加@property,将函数逻辑”封装“成数据属性,外部直接调用...

python实现数通设备端口监控示例

最近因工作需要,上面要求,每天需上报运维的几百数通设备端口使用情况【】,虽然有现成网管监控工具监控设备状态,但做报表,有点不方便,特写了个小脚本。注:测试运行于ubuntn,需安装snm...

pytorch GAN伪造手写体mnist数据集方式

pytorch GAN伪造手写体mnist数据集方式

一,mnist数据集 形如上图的数字手写体就是mnist数据集。 二,GAN原理(生成对抗网络) GAN网络一共由两部分组成:一个是伪造器(Generator,简称G),一个是判别器(...

python控制nao机器人身体动作实例详解

本文实例为大家分享了python控制nao机器人身体动作的具体代码,供大家参考,具体内容如下 今天读的代码,顺便写了出来,与文档的对比,差不多。 import sys import...