##
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`になります。