在Python 3中,UserDict.DictMixin类已移至collections模块。文档建议在其位置使用collections.MutableMapping,但是此抽象类未提供DictMixin可以/不采用的许多方法。

除了获取UserDict.Mixin源的私有(private)副本以导入(或仅复制其中所需的部分)到我自己的类字典类中之外,还有另一种(或更好的)方法来定义它们吗?

最佳答案

“方法的数量”特别是__len____iter__,因此额外的工作并不多。

def __len__(self):
    return len(self.mylist)

def __iter__(self):
    for i in self.mylist:
        yield i

我认为应该有效(不过,未经测试)。

关于dictionary - 如何在Python 3中实现UserDict.DictMixin的功能?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11165188/

10-12 22:34