| \section{\module{UserDict} --- |
| Class wrapper for dictionary objects} |
| |
| \declaremodule{standard}{UserDict} |
| \modulesynopsis{Class wrapper for dictionary objects.} |
| |
| This module defines a class that acts as a wrapper around |
| dictionary objects. It is a useful base class for |
| your own dictionary-like classes, which can inherit from |
| them and override existing methods or add new ones. In this way one |
| can add new behaviours to dictionaries. |
| |
| The \module{UserDict} module defines the \class{UserDict} class: |
| |
| \begin{classdesc}{UserDict}{\optional{intialdata}} |
| Return a class instance that simulates a dictionary. The instance's |
| contents are kept in a regular dictionary, which is accessible via the |
| \member{data} attribute of \class{UserDict} instances. If |
| \var{initialdata} is provided, \member{data} is initialized with its |
| contents; note that a reference to \var{initialdata} will not be kept, |
| allowing it be used used for other purposes. |
| \end{classdesc} |
| |
| In addition to supporting the methods and operations of mappings (see |
| section \ref{typesmapping}), \class{UserDict} instances provide the |
| following attribute: |
| |
| \begin{memberdesc}{data} |
| A real dictionary used to store the contents of the \class{UserDict} |
| class. |
| \end{memberdesc} |
| |
| |
| \section{\module{UserList} --- |
| Class wrapper for list objects} |
| |
| \declaremodule{standard}{UserList} |
| \modulesynopsis{Class wrapper for list objects.} |
| |
| |
| This module defines a class that acts as a wrapper around |
| list objects. It is a useful base class for |
| your own list-like classes, which can inherit from |
| them and override existing methods or add new ones. In this way one |
| can add new behaviours to lists. |
| |
| The \module{UserList} module defines the \class{UserList} class: |
| |
| \begin{classdesc}{UserList}{\optional{list}} |
| Return a class instance that simulates a list. The instance's |
| contents are kept in a regular list, which is accessible via the |
| \member{data} attribute of \class{UserList} instances. The instance's |
| contents are initially set to a copy of \var{list}, defaulting to the |
| empty list \code{[]}. \var{list} can be either a regular Python list, |
| or an instance of \class{UserList} (or a subclass). |
| \end{classdesc} |
| |
| In addition to supporting the methods and operations of mutable |
| sequences (see section \ref{typesseq}), \class{UserList} instances |
| provide the following attribute: |
| |
| \begin{memberdesc}{data} |
| A real Python list object used to store the contents of the |
| \class{UserList} class. |
| \end{memberdesc} |
| |
| |
| \section{\module{UserString} --- |
| Class wrapper for string objects} |
| |
| \declaremodule{standard}{UserString} |
| \modulesynopsis{Class wrapper for string objects.} |
| \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 behaviours to strings. |
| |
| The \module{UserString} module defines the \class{UserString} class: |
| |
| \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. |
| \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: |
| |
| \begin{memberdesc}{data} |
| A real Python string or Unicode object used to store the content of the |
| \class{UserString} class. |
| \end{memberdesc} |
| |
| \begin{classdesc}{MutableString}{\optional{sequence}} |
| This class is derived from the \class{UserString} above and redefines |
| 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 |
| mutable object as dictionary key, which would be otherwise very |
| errorprone and hard to track down. |
| \end{classdesc} |