2009-11-02 40 views

回答

3

你说得对:

需要该类一直 通过能力直接 子从字典(功能 变得可用开始 Python版本2.2)很大程度上取代。在引入字典之前,使用UserDict 类创建 类似字典的子类,其中 通过重写 现有方法或添加新类来创建新行为。

注意第一句。这来自UserDict的documentation

哦,在Python 3中它已经消失了。

3

包装类已经从Python 3中删除,因为它们现在还没有被使用。 mixin类,UserDict.DictMixin,是一个完全不同的故事 - 它的有用特性现在遍布在collections模块(Python 2.6和3. *)中的“抽象基类”中。

1

我发现,您链接到网页上,一个提示答案:

在Python版本2.2之前, 你不能直接继承 内置的数据类型,例如字符串, 列表和字典。为了补偿 ,Python带有包装 类,它们模仿了这些内置数据类型的行为:UserString, UserList和UserDict。使用正常和特殊 方法的 组合,UserDict类可以很好地模仿字典。 在Python 2.2和更高版本中,您可以从 数据类型(如dict)直接继承类。

实际上,今天你可能想要分类字典,而不是UserDict。