0
class MyDict(dict):
def __init__(self, *args):
#fill in here
如何編寫構造函數,以便將密鑰'name
'設置爲'james
'。如何恰當地繼承「dict」?
d = MyDict()
print d['name'] ....this should print out "james"
class MyDict(dict):
def __init__(self, *args):
#fill in here
如何編寫構造函數,以便將密鑰'name
'設置爲'james
'。如何恰當地繼承「dict」?
d = MyDict()
print d['name'] ....this should print out "james"
在(C)的Python 2.5.2:
>>> class MyDict(dict):
... def __init__(self, *args, **kwargs):
... super(MyDict, self).__init__(*args, **kwargs)
... self['name'] = 'james'
...
>>> d = MyDict()
>>> print d['name']
james
字典的基本子類將允許基本存儲:
class MyDict(dict):
def __init__(self, *args):
super(MyDict, self).__init__(*args, **kwargs)
self['name'] = 'james'
對於更復雜的存儲,你可能想看看into __setitem__和__getitem__
我應該總是在構造函數中執行「super(MyDict,self)...」每次我想要subc一個字典?這是一項要求嗎? – TIMEX
dict .__ init __(self,* args,** kwargs)也可以工作,但推薦使用super()風格。 – wberry
如果你根本不調用dict的__init__,那麼你的對象可能沒有一個一致的狀態,因此可能不能用作字典。 – wberry