collections.abc - Classi base astratte per contenitori
Scopo: Classi base astratte per tipi di dato contenitore
Il modulo collections.abc contiene le classi base astratte che definiscono le API per le strutture dati contenitore in Python, fornite dal modulo collections.
CLASSE | CLASSE BASE | SCOPO API |
---|---|---|
Container | Caratteristiche base di un contenitore, tipo l'operatore in | |
Hashable | Aggiunge supporto per fornire un valore hash all'istanza contenitore | |
Iterable | Può creare un iteratore sui contenuti di un contenitore | |
Iterator | Iterable | E' un iteratore sul contenuti di un contenitore |
Sized | Aggiunge metodi per contenitori che sono consapevoli della propria dimensione | |
Callable | Per contenitori che possono essere chiamati come una funzione | |
Sequence | Sized, Iterable, Container | Supporta il recupero di elementi individuali, l'iterazione e la modifiche dell'ordine degli elementi |
MutableSequence | Sequence | Supporta l'aggiunta e la rimozione di elementi ad una istanza dopo che è stata creata |
Set | Sized, Iterable, Container | Supporta operazioni sugli insiemi tipo intersezioni ed unioni |
MutableSet | Set | Aggiunge metodi per manipolare il contenuto degli insiemi dopo la creazione |
Mapping | Sized, Iterable, Container | Definisce le API a sola lettura utilizzate da dict |
MutableMapping | Mapping | Definisce i metodi per manipolare il contenuto di una mappatura dopo la creazione |
MappingView | Sized | Definisce le API di vista per accedere una mappatura da un iteratore |
ItemsView | MappingView, Set | Parte dell'API di vista |
KeysView | MappingView, Set | Parte dell'API di vista |
ValuesView | MappingView | Parte dell'API di vista |
Oltre a definire chiaramente le API per i contenitori con semantiche differenti, queste classi base astratte possono essere usate per verificare tramite isinstance()
se un oggetto supporta una API prima di chiamarlo. Alcune delle classi possono anche fornire implementazioni di metodi, e possono anche essere utilizzate come mix-in (classi che contengono metodi che altre classi possono utilizzare senza essere classi genitore di queste altre classi) per costruire tipi di contenitore personalizzati senza implementare da zero tutti i metodi.
Vedere anche:
- collections.abc
- La documentazione della libreria standard per questo modulo