3
如果我想要一個類有字典行爲,爲什麼我應該繼承dict
或UserDict
?UserDict和Dict有什麼區別嗎?
如果我想要一個類有字典行爲,爲什麼我應該繼承dict
或UserDict
?UserDict和Dict有什麼區別嗎?
您可以從dict
在這2.2版本或更高的任何Python的繼承,但是你必須覆蓋每個感興趣的一個方法 - 例如,你的__getitem__
倍率不被get
使用,除非你也覆蓋那個,等等,等等。
的UserDict.DictMixin
混合式追溯到很多更進一步,讓您實現只有幾個方法:其他方法,如混合式供電,將拾取並使用自己的覆蓋。但是請注意,從the docs:
與Python 2.6版開始,它 建議使用 collections.MutableMapping代替 DictMixin。
的collections
模塊中的新的ABC(抽象基類)有很多相同的優點,良好的老UserDict.DictMixin
,適用範圍更廣,更規律性。
您必須支持的Python版本的最低公分母是什麼? – 2010-01-18 02:00:04