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.
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.