Note: Questo modulo è disponibile solo per compatibilità all'indietro. Se si sta scrivendo codice che non deve lavorare con versioni di Python precedenti alla 2.2, è consigliabile usare direttamente una sotto classe del tipo built-in dict.
Questo modulo definisce una classe che si comporta da wrapper per gli oggetti dizionario. È una classe di base piuttosto utile per le proprie implementazioni delle classi dizionario, che può ereditarne e sovrascriverne i metodi esistenti o aggiungerne di nuovi. In questo modo possono venire aggiunti nuovi comportamenti ai dizionari.
Il modulo definisce anche un mix definendo tutti i metodi dei dizionari per le classi cha già hanno un minimo di interfacce mappate. Questo semplifica enormemente la scrittura di classi che necessitino essere sostituibili per i dizionari (come il modulo shelve).
Il modulo UserDict definisce la classe UserDict e DictMixin:
[initialdata]) |
Oltre a supportare metodi e operazioni di mapping (vedete la sezione 2.3.8), l'istanza di UserDict fornisce anche i seguenti attributi:
) |
Questo mix dovrebbe venire usato come superclasse. Aggiungendo ciascuno dei metodi indicati sopra, integra progressivamente maggiori funzionalità. Per esempio, definendo tutti i metodi tranne __delitem__ si precluderà soltanto pop e popitem dall'interfaccia completa.
In aggiunta ai quattro metodi di base, viene progressivamente raggiunta maggiore efficienza definendo __contains__(), __iter__() e iteritems().
Poiché mixin non ha conoscenza del costruttore della sotto classe, non definisce __init__() o copy().
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.