From 66c9f0781ded9c798764ecc1d3e82d687a307a98 Mon Sep 17 00:00:00 2001 From: Fred Drake Date: Tue, 10 Oct 2000 20:58:48 +0000 Subject: Note that the UserString/MutableString classes are far less efficient than the built-in string types (suggested by Moshe Zadka ). Clarified what "can be converted to a string" means. Fixed a few markup nits. --- Doc/lib/libuserdict.tex | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/Doc/lib/libuserdict.tex b/Doc/lib/libuserdict.tex index 62aff77..50d52fa 100644 --- a/Doc/lib/libuserdict.tex +++ b/Doc/lib/libuserdict.tex @@ -92,23 +92,26 @@ methods which need to be provided in that case. \moduleauthor{Peter Funk}{pf@artcom-gmbh.de} \sectionauthor{Peter Funk}{pf@artcom-gmbh.de} -This module defines a class that acts as a wrapper around -string objects. It is a useful base class for -your own string-like classes, which can inherit from -them and override existing methods or add new ones. In this way one -can add new behaviors to strings. +This module defines a class that acts as a wrapper around string +objects. It is a useful base class for your own string-like classes, +which can inherit from them and override existing methods or add new +ones. In this way one can add new behaviors to strings. -The \module{UserString} module defines the \class{UserString} class: +It should be noted that these classes are highly inefficient compared +to real string or Unicode objects; this is especially the case for +\class{MutableString}. + +The \module{UserString} module defines the following classes: \begin{classdesc}{UserString}{\optional{sequence}} -Return a class instance that simulates a string or a Unicode string object. -The instance's content is kept in a regular string or Unicode string -object, which is accessible via the -\member{data} attribute of \class{UserString} instances. The instance's -contents are initially set to a copy of \var{sequence}. -\var{sequence} can be either a regular Python string or Unicode string, -an instance of \class{UserString} (or a subclass) or an arbitrary sequence -which can be converted into a string. +Return a class instance that simulates a string or a Unicode string +object. The instance's content is kept in a regular string or Unicode +string object, which is accessible via the \member{data} attribute of +\class{UserString} instances. The instance's contents are initially +set to a copy of \var{sequence}. \var{sequence} can be either a +regular Python string or Unicode string, an instance of +\class{UserString} (or a subclass) or an arbitrary sequence which can +be converted into a string using the built-in \function{str()} function. \end{classdesc} \begin{classdesc}{MutableString}{\optional{sequence}} @@ -117,14 +120,15 @@ strings to be \emph{mutable}. Mutable strings can't be used as dictionary keys, because dictionaries require \emph{immutable} objects as keys. The main intention of this class is to serve as an educational example for inheritance and necessity to remove (override) the -\function{__hash__} method in order to trap attempts to use a +\method{__hash__()} method in order to trap attempts to use a mutable object as dictionary key, which would be otherwise very error prone and hard to track down. \end{classdesc} -In addition to supporting the methods and operations of string or -Unicode objects (see section \ref{typesseq}), \class{UserString} instances -provide the following attribute: +In addition to supporting the methods and operations of string and +Unicode objects (see section \ref{string-methods}, ``String +Methods''), \class{UserString} instances provide the following +attribute: \begin{memberdesc}{data} A real Python string or Unicode object used to store the content of the -- cgit v0.12