Python 我如何正确地将“a”子类化;迪克特;?

Python 我如何正确地将“a”子类化;迪克特;?,python,oop,Python,Oop,如何编写构造函数,使其将键“name”设置为“james” class MyDict(dict): def __init__(self, *args): #fill in here 在(C)Python 2.5.2中: d = MyDict() print d['name'] ....this should print out "james" dict的基本子类将允许基本存储: >>> class MyDict(dict): ... def __

如何编写构造函数,使其将键“
name
”设置为“
james

class MyDict(dict):
    def __init__(self, *args):
        #fill in here
在(C)Python 2.5.2中:

d = MyDict()
print d['name'] ....this should print out "james"

dict的基本子类将允许基本存储:

>>> class MyDict(dict):
...   def __init__(self, *args, **kwargs):
...     super(MyDict, self).__init__(*args, **kwargs)
...     self['name'] = 'james'
...
>>> d = MyDict()
>>> print d['name']
james
对于更复杂的存储,您可能需要查看,并且

每次我想对dict进行子类化时,我是否应该始终在构造函数中执行“super(MyDict,self)…”?这是一个要求吗?dict.uuu init_uuu(self,*args,**kwargs)也可以工作,但建议使用super()样式。如果您根本不调用dict的init,那么您的对象可能没有一致的状态,因此可能无法像dict那样使用。@wberry,@TIMEX:super()样式是多重继承工作所必需的。
class MyDict(dict):
    def __init__(self, *args):
        super(MyDict, self).__init__(*args, **kwargs)
        self['name'] = 'james'