diff options
author | Raymond Hettinger <python@rcn.com> | 2008-02-21 22:11:37 (GMT) |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2008-02-21 22:11:37 (GMT) |
commit | b3a65f8d19f55437406a446927238a9e6f7d3902 (patch) | |
tree | c2f8e9d8e222595c153e8d7b38815cd7d1f056fb /Doc/library | |
parent | 6f7140c762710ee8412cb07e87194d1de087ce9b (diff) | |
download | cpython-b3a65f8d19f55437406a446927238a9e6f7d3902.zip cpython-b3a65f8d19f55437406a446927238a9e6f7d3902.tar.gz cpython-b3a65f8d19f55437406a446927238a9e6f7d3902.tar.bz2 |
Move UserString to collections.
Removed decode() method. Added isidentifier() and format() methods.
Drop MutableUserString class.
Diffstat (limited to 'Doc/library')
-rw-r--r-- | Doc/library/collections.rst | 19 | ||||
-rw-r--r-- | Doc/library/datatypes.rst | 1 | ||||
-rw-r--r-- | Doc/library/userdict.rst | 61 |
3 files changed, 19 insertions, 62 deletions
diff --git a/Doc/library/collections.rst b/Doc/library/collections.rst index bb2140c..1d6687d 100644 --- a/Doc/library/collections.rst +++ b/Doc/library/collections.rst @@ -706,3 +706,22 @@ If a derived class does not wish to comply with this requirement, all of the special methods supported by this class will need to be overridden; please consult the sources for information about the methods which need to be provided in that case. + +:class:`UserString` objects +------------------------- + +The class, :class:`UserString` acts as a wrapper around string objects. +The need for this class has been partially supplanted by the ability to +subclass directly from :class:`str`; however, this class can be easier +to work with because the underlying string is accessible as an +attribute. + +.. class:: UserString([sequence]) + + Class that simulates a string or a Unicode string object. The instance's + content is kept in a regular string object, which is accessible via the + :attr:`data` attribute of :class:`UserString` instances. The instance's + contents are initially set to a copy of *sequence*. The *sequence* can + be an instance of :class:`bytes`, :class:`str`, :class:`UserString` (or a + subclass) or an arbitrary sequence which can be converted into a string using + the built-in :func:`str` function. diff --git a/Doc/library/datatypes.rst b/Doc/library/datatypes.rst index 496fd41..ae76e72 100644 --- a/Doc/library/datatypes.rst +++ b/Doc/library/datatypes.rst @@ -29,7 +29,6 @@ The following modules are documented in this chapter: mutex.rst queue.rst weakref.rst - userdict.rst types.rst copy.rst pprint.rst diff --git a/Doc/library/userdict.rst b/Doc/library/userdict.rst deleted file mode 100644 index ebdec7c..0000000 --- a/Doc/library/userdict.rst +++ /dev/null @@ -1,61 +0,0 @@ - -:mod:`UserString` --- Class wrapper for string objects -====================================================== - -.. module:: UserString - :synopsis: Class wrapper for string objects. -.. moduleauthor:: Peter Funk <pf@artcom-gmbh.de> -.. sectionauthor:: Peter Funk <pf@artcom-gmbh.de> - - -.. note:: - - This :class:`UserString` class from this module is available for backward - compatibility only. If you are writing code that does not need to work with - versions of Python earlier than Python 2.2, please consider subclassing directly - from the built-in :class:`str` type instead of using :class:`UserString` (there - is no built-in equivalent to :class:`MutableString`). - -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. - -It should be noted that these classes are highly inefficient compared to real -string or bytes objects; this is especially the case for -:class:`MutableString`. - -The :mod:`UserString` module defines the following classes: - - -.. class:: UserString([sequence]) - - Class 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 :attr:`data` attribute of :class:`UserString` instances. The - instance's contents are initially set to a copy of *sequence*. *sequence* can - be an instance of :class:`bytes`, :class:`str`, :class:`UserString` (or a - subclass) or an arbitrary sequence which can be converted into a string using - the built-in :func:`str` function. - - -.. class:: MutableString([sequence]) - - This class is derived from the :class:`UserString` above and redefines strings - to be *mutable*. Mutable strings can't be used as dictionary keys, because - dictionaries require *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 :meth:`__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. - -In addition to supporting the methods and operations of bytes and string -objects (see section :ref:`string-methods`), :class:`UserString` instances -provide the following attribute: - - -.. attribute:: MutableString.data - - A real Python string or bytes object used to store the content of the - :class:`UserString` class. - |