3.8 UserList -- Classe wrapper per oggetti lista

Note: Questo modulo è disponibile solo per compatibilità all'indietro. Se si sta scrivendo codice che non necessita di lavorare con versioni di Python precedenti alla 2.2, é consigliabile generare sotto classi direttamente dal tipo list built-in.

Questo modulo definisce una classe che si comporta come un wrapper degli oggetti lista. Si tratta di una classe di base utile per le proprie classi simili alle liste, che può ereditarne e sovrascriverne i metodi esistenti o aggiungerne di nuovi. In questo modo possono venire aggiunte nuove caratteristiche alle liste.

Il modulo UserList definisce la classe UserList:

class UserList( [lista])
Classe che simula una lista. I contenuti dell'istanza vengono memorizzati in una lista regolare, accessibile attraverso l'attributo data dell'istanza di UserList. I contenuti dell'istanza vengono inizialmente impostati come una copia di lista, avendo come predefinita la lista vuota []; lista può essere sia una lista regolare Python, che una istanza di UserList (o una sotto classe).

Oltre a supportare i metodi e le operazioni di sequenze mutabili (vedete la sezione 2.3.6), le istanze UserList forniscono i seguenti attributi:

data
Un oggetto Python lista reale usato per memorizzare il contenuto della classe UserList.

Requisiti per derivare sotto classi: Dalle sotto classi di UserList ci si aspetta che offrano un costruttore, che possa venire chiamato o senza argomenti o con un argomento. Le operazioni su liste che ritornano una nuova sequenza cercano di creare un'istanza dell'attuale implementazione della classe. Per far ciò, viene assunto che il costruttore possa venire chiamato con un parametro singolo, che è un oggetto sequenza usato come sorgente di dati.

Se una classe derivata non vuole adeguarsi a questi requisiti, tutti i metodi speciali supportati da questa classe avranno bisogno di venire sovrascritti; per favore consultate i sorgenti per informazioni circa i metodi che si devono fornire in quel caso.

Modificato nella versione 2.0: Python versione 1.5.2 e 1.6 richiedevano anche che il costruttore fosse chiamabile senza parametri, e offrisse un attributo data mutabile. Le versioni Python più vecchie non cercavano di creare istanze di classi derivate.

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.