3.9 UserString -- Classe wrapper per gli oggetti stringa

Note: Questa classe UserString da questo modulo è disponibile soltanto per compatibilità all'indietro. Se si sta scrivendo codice che non ha bisogno di lavorare con versioni di Python precedenti alla 2.2, é consigliabile considerare di derivare le classi direttamente dal tipo built-in str, in sostituzione dell'uso di UserString (non ci sono equivalenti built-in a MutableString).

Questo modulo definisce una classe che si comporta come un wrapper per gli oggetti stringa. È una classe base utile per le proprie classi simili alle stringhe, che può ereditane e sovrascriverne i metodi esistenti o aggiungerne di nuovi. In questo caso possono venire aggiunte nuove caratteristiche alle stringhe.

Notate che queste classi sono molto inefficienti rispetto alle stringhe reali o agli oggetti Unicode; questo è soprattutto vero nel caso di MutableString.

Il modulo UserString definisce le seguenti classi:

class UserString( [sequenza])
Classe che simula un oggetto stringa o un oggetto stringa Unicode. Il contenuto dell'istanza viene memorizzato in una stringa regolare o in un oggetto stringa Unicode, accessibile attraverso l'attributo data dell'istanza UserString. I contenuti dell'istanza vengono inizialmente impostati come una copia di sequenza. sequenza può essere sia una stringa Python regolare che una stringa Unicode, un'istanza di UserString (o una sotto classe) o una sequenza arbitraria che può venire convertita in una stringa utilizzando la funzione built-in str().

class MutableString( [sequenza])
Questa classe deriva direttamente dalla classe UserString indicata precedentemente, e ridefinisce le stringhe in modo tale che siano mutabili. Stringhe mutabili non possono venire usate come chiavi di dizionario, perché i dizionari richiedono come chiavi oggetti immutabili. La principale intenzione di questa classe è quella di servire come esempio educativo per l'ereditarietà e la necessità di rimuovere (sovrascrivere) il metodo __hash__() per intercettare i tentativi di usare un oggetto mutabile come una chiave di dizionario, che sarebbe altrimenti facilmente soggetto ad errori difficili da individuare.

Oltre a supportare i metodi e le operazioni su stringhe e oggetti Unicode (vedete la sezione 2.3.6 ``Metodi Stringa''), l'istanza UserString fornisce il seguente attributo:

data
Una stringa Python reale o un oggetto Unicode usati per memorizzare il contenuto della classe UserString.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.