使用dict子类,其中dict是预期的



函数A获取一个普通字典作为参数并进行一些处理。

def A(dict):
    ...
    return

现在我有一个继承自普通字典类的类:

class MyDict(dict):
    def __getitem__(self, key):
        return dict.__getitem__(self, key)
    def __setitem__(self, key, val):
        dict.__setitem__(self, key, val)

那么我可以使用MyDict代替普通的dict作为:

my_dict = MyDict()
A(my_dict)

?

具体来说,在我的例子中,A执行xml-rpc序列化,错误提示不能封送MyDict。

这完全取决于A()做什么。如果它仅仅调用映射协议,那么您可以毫无问题地使用它。如果它需要更多关于传递类型的细节,那么它就有可能无法正确运行。

相关内容

最新更新