Este módulo define una clase que actúa como cobertura de los objetos lista. Es una clase base útil para generar clases derivadas de la lista, que heredan su comportamiento y redefinen métodos o añaden métodos nuevos. De este modo uno puede crear nuevo comportamiento para las listas.
El módulo UserList define la clase UserList:
[]
, la lista vacía. list puede ser una lista normal
de Python o una instancia de UserList (o de una de sus subclases).
Además de disponer de los métodos y operaciones de las secuencias
mutables
(ver la sección
Requisitos de las clases derivadas: Las subclases de UserList deben ofrecer un constructor que pueda ser llamado sin argumentos o con un argumento. Las operaciones de listas que devuelven una nueva lista intentan crear una instancia de la clase de implementación real. Para ello, asumen que se puede llamar al constructor con un parámetro, que es el objeto secuencia utilizado como fuente de datos.
Si una clase derivada no desea cumplir este requisito, se tendrá que redefinir todos los métodos especiales soportados por esta clase. En el código fuente hay información de qué métodos hay que proporcionar en tal caso.
Cambiado en la versión 2.0: Las versiones 1.5.2 y 1.6 de Python también requieren que se pueda llamar al constructor sin parámetros y ofrecen un atributo data mutable. Las versiones anteriores no intentaban crear instancias de la clase derivada.