2009-11-02 149 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。