5.3.3 defaultdict オブジェクト

defaultdict( [default_factory[, ...]])
新しいディクショナリ状のオブジェクトを返します。defaultdictは 組込みの dictのサブクラスです。メソッドをオーバーライドし、書 き込み可能なインスタンス変数を1つ追加している以外は dictクラスと同じです。 同じ部分については以下では省略されています。

1つめの引数はdefault_factory属性の初期値です。デフォルトは Noneです。残りの引数はキーワード引数もふくめ、dictのコ ンストラクタにあたえられた場合と同様に扱われます。

バージョン 2.5 で 新たに追加 された仕様です。

defaultdict オブジェクトは標準のdictに加えて、以下のメ ソッドを実装しています:

__missing__( key)
もしdefault_factory属性がNoneであれば、このメソッドは KeyError例外を、keyを引数として発生させます。

もしdefault_factory属性がNoneでなければ、このメソッドは default_factoryを引数なしで呼び出し、あたえられたkeyに 対応するデフォルト値を作ります。そしてこの値を key に対応する値 を辞書に登録して返ります。

もし default_factory の呼出が例外を発生させた場合には、 変更せずそのまま例外を投げます。

このメソッドはdictクラスの __getitem__ メソッドで、キー が存在しなかった場合によびだされます。値を返すか例外を発生させるのどち らにしても、__getitem__からもそのまま値が返るか例外が発生します。

defaultdict オブジェクトは以下のインスタンス変数をサポートして います:

default_factory
この属性は __missing__ メソッドによって使われます。これは 存在すればコンストラクタの第1引数によって初期化され、そうでなければ Noneになります。



Subsections
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。