組み込みdict
クラスから継承するクラスがあります。以前は次のように見えていました。
class AwesomeDictionary(dict):
def __init__(self, *args, **args):
self['hello'] = 'world'
i = {}
dict.__init__(i, *args, **kargs)
self.update(i)
__init__
まったく新しい辞書を作成するか、少なくともそれをクリアすると思ったので、一時的な辞書でそのように実装しました。
私はつい最近、Python インタープリターで問題なく次のようなことができることに気付きました。
f = {'hi':56, '67':89}
dict.__init__(f, **{'h':67})
print f
#You get: {'67': 89, 'h': 67, 'hi': 56}
同じフィールドを指定した場合:
f = {'hi':56, '67':89}
dict.__init__(f, **{'hi':34})
print f
#You get: {'67': 89, 'hi': 34}
したがって、その場合、 は__init__
と同じように動作しているように見え.update
ます。
これが当てはまる特定の理由はありますか?実装とバージョン間でこれが一貫していると期待できますか?
.update
同様に、おそらくコードの明快さと読みやすさ以外に、通常の辞書を呼び出す目的はありますか?
ああ、私はそれをそのままにして安心のために更新を行うことができることを知っていますが、同じことを2回行うと非常に効率が悪いと感じます.
これがばかげた質問である場合は、申し訳ありません。
御時間ありがとうございます。