このモジュールは 最小限のマッピングインターフェイスをすでに持っているクラスのために、 すべての辞書メソッドを定義しているmixin、DictMixinを定義しています。これによって、shelveモジュールのような辞書の代わりをする必要があるクラスを書くことが非常に簡単になります。
このモジュールではUserDictクラスを定義しています。これは辞書オブジェクトのラッパーとして 動作します。これはdict(Python 2.2から利用可能な機能です)によって置き換えられています。 dictの導入以前に、UserDictクラスは辞書風のサブクラスをオーバライドや新メソッドの 定義によって作成するために使われていました。
UserDictモジュールはUserDictクラスとDictMixinを定義しています:
[initialdata]) |
[initialdata]) |
for key in myDict
).
マッピングのメソッドと演算(節3.8を参照)に加えて、UserDict、IterableUserDictインスタンスは次の属性を提供します:
) |
このmixinはスーパークラスとして使われるべきです。上のそれぞれのメソッドを 追加することで、より多くの機能がだんだん追加されます。 例えば、__delitem__ 以外の全てのメソッドを定義すると、使えないのは popとpopitem だけになります。
4 つの基底メソッドに加えて、__contains__、__iter__ およびiteritemsを定義すれば、順次効率化を果たすことができます。
mixin はサブクラスのコンストラクタについて何も知らないので、 __init__() や copy() は定義していません。
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。