mirror of
https://github.com/python/cpython
synced 2026-09-28 11:48:18 +03:00
Note that the UserString/MutableString classes are far less efficient
than the built-in string types (suggested by Moshe Zadka <moshez@math.huji.ac.il>). Clarified what "can be converted to a string" means. Fixed a few markup nits.
This commit is contained in:
parent
ef52f601ed
commit
66c9f0781d
1 changed files with 22 additions and 18 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue