0
class MyDict(dict):
def __init__(self, *args):
#fill in here
キー 'name
'を '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
私は常にサブクラスにしたいコンストラクタで "super(MyDict、self)..."を実行する必要があります一言を書いてみませんか?それは必須条件ですか? – TIMEX
dict .__ init __(self、* args、** kwargs)も動作しますが、super()スタイルが推奨されます。 – wberry
dictの__init__をまったく呼び出さないと、オブジェクトの状態が一貫していない可能性があり、dictとして使用できなくなる可能性があります。 – wberry