Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python2.7中创建类似dict的类?_Python_Python 2.7 - Fatal编程技术网

如何在Python2.7中创建类似dict的类?

如何在Python2.7中创建类似dict的类?,python,python-2.7,Python,Python 2.7,看起来有多种方法可以做到这一点,但找不到最新的最佳方法 子类UserDict DictMixin亚类 dict子类 子类可变映射 正确的方法是什么?我想抽象数据库中的实际数据。因为类似dict的类实际上不是字典,所以我会选择可变映射。子类化dict意味着类似于dict的特性,包括性能特性,如果你真的在访问数据库,这些特性就不会成立。如果你在做自己的事情(例如发明自己的轮子),你最好从头开始编写类(即对象的子类),只需提供正确的特殊成员(例如,\uuu getitem\uu)和对象中描述的其他类似

看起来有多种方法可以做到这一点,但找不到最新的最佳方法

  • 子类UserDict
  • DictMixin亚类
  • dict子类
  • 子类可变映射

  • 正确的方法是什么?我想抽象数据库中的实际数据。

    因为类似dict的类实际上不是字典,所以我会选择
    可变映射。子类化
    dict
    意味着类似于dict的特性,包括性能特性,如果你真的在访问数据库,这些特性就不会成立。

    如果你在做自己的事情(例如发明自己的轮子),你最好从头开始编写类(即
    对象
    的子类),只需提供正确的特殊成员(例如,
    \uuu getitem\uu
    )和对象中描述的其他类似函数,以便它像dict一样嘎嘎作响。在内部,您甚至可能拥有许多dict(has-a)来帮助实现


    这样,您就不必为了“适应”某些现有的实现而束缚您的设计,您不必为某些不一定要使用的东西付费。这一建议的部分原因是,如果您考虑到性能/缓存/一致性/最佳查询等因素,则您的DB支持类将比标准dict复杂得多。

    5。实现映射方法扫描您所指的一些示例?到底应该定制什么?。。。你需要定制什么?