函数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()
做什么。如果它仅仅调用映射协议,那么您可以毫无问题地使用它。如果它需要更多关于传递类型的细节,那么它就有可能无法正确运行。