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

栗子
栗子
发布时间:2026-10-13 | 2人浏览过
原创

本文介绍如何在Python中通过继承collections.UserDict来自定义字典类。通过重写__missing__、__contains__、__setitem__和__getattr__等方法,实现类似字典的访问方式,包括属性访问和键值对操作。

示例代码如下:

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 相关产品和应用

全部下载

专题列表