3.7 UserString ---
Classe pour encapsuler des objets chaîne de caractères
Ce module définit une classe qui encapsule des objets chaîne de caractères.
C'est une classe de base utile pour vos propres classes de genre
chaîne, qui peuvent en hériter et surcharger les méthodes
existantes ou en ajouter de nouvelles. De cette façon on peut
ajouter de nouveaux comportements aux chaînes.
Il faut noter que ces classes sont très inefficaces comparées aux vrais
objet chaîne ou Unicode; c'est notamment le cas pour
MutableString.
Le module UserString définit les classes suivantes:
- UserString([sequence])
- Classe qui simule un objet chaîne de caractères ou Unicode.
Le contenu de l'instance est conservé dans un objet chaîne
ou Unicode ordinaires, qui est accessible par l'attribut
data des instances de UserString. Le contenu
de l'instance est initialisé à une copie de sequence.
sequence peut être soit une chaîne de caractères ou
Unicode ordinaires, une instance de UserString (ou d'une
sous-classe) ou une séquence arbitraire qui peut être convertie
en une chaîne de caractères en utilisant la fonction intégrée
str().
- MutableString([sequence])
- Cette classe est dérivée de la classe UserString ci-dessus
et redéfinit les chaînes pour qu'elles deviennent mutables.
Les chaînes mutables ne peuvent pas servir de clés de dictionnaires,
parce que les dictionnaires requièrent des objets immuables
comme clés. L'intention principale est de servir d'exemple
éducatif pour l'héritage et la nécessité d'enlever (de surclasser)
la méthode __hash__() pour capturer des tentatives de se
servir d'un objet mutable comme clé de dictionnaire, ce qui serait
autrement très générateur d'erreurs difficiles à dénicher.
En plus de supporter les méthodes et les opérations des objets
chaîne de caractères et Unicode (voir la section 2.1.5.1,
``Méthodes des Chapines de Caractères''), les instances de
UserString fournissent l'attribut suivant:
data- Un objet Python chaîne de caractères ou Unicode qui sert à stocker le
contenu de la classe UserString.