collections.abc — Clases base abstractas para contenedores

Propósito:Clases base abstractas para tipos de datos de contenedores.

El módulo collections.abc contiene clases base abstractas que definen las interfaces para las estructuras de datos del contenedor integradas en Python y proporcionado por el módulo collections. Consulta la :table: Clases base abstractas para una lista de las clases y sus propósitos.

Clases base abstractas
Clase Clase(s) Base Propósito de la interfaz
Container   Caracteristicas básicas de contenedores, como el operador in.
Hashable   Agrega soporte para proporcionar un valor hash para la instancia del contenedor.
Iterable   Puede crear un iterador sobre el contenido del contenedor.
Iterator Iterable Es un iterador sobre el contenido del contenedor.
Generator Iterator Extiende iteradores con el protocolo de generador del PEP 342.
Sized   Agrega métodos para contenedores que saben qué tan grandes son.
Callable   Para contenedores que se pueden invocar como una función.
Sequence Sized, Iterable, Container Admite recuperar elementos individualmente, iterar y cambiar el orden de los artículos.
MutableSequence Sequence Admite agregar y eliminar elementos a una instancia después de que ha sido creada.
ByteString Sequence Interfaz combinada de bytes y bytearray.
Set Sized, Iterable, Container Admite operaciones de conjunto como intersección y unión.
MutableSet Set Agrega métodos para manipular el contenido del conjunto una vez creado.
Mapping Sized, Iterable, Container Define la interfaz de solo lectura utilizada por dict.
MutableMapping Mapping Define los métodos para manipular los contenidos de una asignación después de que se crea.
MappingView Sized Define la interfaz de vista para acceder a una asignación desde un iterador.
ItemsView MappingView, Set Parte de la interfaz de vista.
KeysView MappingView, Set Parte de la interfaz de vista.
ValuesView MappingView Parte de la interfaz de vista.
Awaitable   Interfaz para objetos que pueden usarse en expresiones await, tales como corutinas.
Coroutine Awaitable API para las clases que implementan el protocolo de corutina.
AsyncIterable   API para iterables compatible con `` async for``, como se define en PEP 492.
AsyncIterator AsyncIterable API para iteradores asíncronos.

Además de definir claramente las interces para contenedores con diferente semántica, éstas clases base abstractas se pueden utilizar para probar si un objeto admite una interfaz antes de invocarlo usando isinstance (). Algunas de las clases también proporcionan implementaciones de métodos, y se pueden usar como mezclas para crear configuraciones tipos personalizadas de contenedores sin implementar todos los métodos desde cero.