Note:
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 list type.
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 behaviors to lists.
The UserList module defines the UserList class:
classUserList(
[list])
Class that simulates a list. The instance's
contents are kept in a regular list, which is accessible via the
data attribute of UserList instances. The instance's
contents are initially set to a copy of list, defaulting to the
empty list []. list can be either a regular Python list,
or an instance of UserList (or a subclass).
In addition to supporting the methods and operations of mutable
sequences (see section 3.6), UserList instances
provide the following attribute:
data
A real Python list object used to store the contents of the
UserList class.
Subclassing requirements:
Subclasses of UserList are expect to offer a constructor which
can be called with either no arguments or one argument. List
operations which return a new sequence attempt to create an instance
of the actual implementation class. To do so, it assumes that the
constructor can be called with a single parameter, which is a sequence
object used as a data source.
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.
Changed in version 2.0:
Python versions 1.5.2 and 1.6 also required that the
constructor be callable with no parameters, and offer
a mutable data attribute. Earlier versions
of Python did not attempt to create instances of the
derived class.