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