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