Рубрики
Без рубрики

collections.abc – абстрактные базовые классы для контейнеров

Автор оригинала: Doug Hellmann.

Цель:

Абстрактные базовые классы для типов данных контейнера.

Модуль Collections.abc Collections содержит абстрактные базовые классы, которые определяют API для структур данных контейнера, встроенные в Python и предоставляются модулем Collections . Обратитесь к таблице ниже для списка классов и их целей.

Абстрактные базовые классы

Учебный класс

Базовый класс (ES)

Цель API

Контейнер

Основные функции контейнера, такие как

в

оператор.

Замашина

Добавляет поддержку для обеспечения хеш-значение для экземпляра контейнера.

Считать

Можно создать итератор по содержимому контейнера.

Итератор

Считать

Это итератор по содержанию контейнера.

Генератор

Итератор

Расширяет итераторы с протоколом генератора от PEP 342.

Размером

Добавляет методы для контейнеров, которые знают, насколько они велики.

Callable.

Для контейнеров, которые могут быть вызваны как функция.

Последовательность

Размером, утеряемый, контейнер

Поддерживает извлечение отдельных предметов, итерацию и изменение порядок предметов.

MutableSequence.

Последовательность

Поддерживает добавление и удаление элементов в экземпляр после того, как он имеет был создан.

Bytestring.

Последовательность

Комбинированные API

байты

и

ByTearRay

Набор

Размером, утеряемый, контейнер

Поддерживает заданные операции, такие как пересечение и союз.

Борьба

Набор

Добавляет методы для манипулирования установленным содержимым после его создания.

Сопоставление

Размером, утеряемый, контейнер

Определяет API только для чтения, используемый

обдумывать

MutablaMazing.

Сопоставление

Определяет методы для манипулирования содержимым отображения после его создания.

Mapkegeview.

Размером

Определяет API представления для доступа к сопоставлению от итератора.

ItemsView.

Map of CommingView, Set.

Часть API представления.

Keysview.

Map of CommingView, Set.

Часть API представления.

Valuesview.

Mapkegeview.

Часть API представления.

Очередным

API для объектов, которые можно использовать в

Ждите

Выражения, такие как COROUTINES.

Соревнование

Очередным

API для классов, которые реализуют протокол COROUTINE.

Asynciterable

API для iTerables, совместимых с

async.

за

, как определено в PEP 492.

Асинситериатор

Asynciterable

API для асинхронных итераторов.

В дополнение к четко определению API для контейнеров с различной семантикой эти абстрактные базовые классы могут использоваться для проверки того, поддерживает ли объект API, прежде чем вызывать его использование ISINSTANCE () . Некоторые из классов также предоставляют реализации методов, и их можно использовать в качестве смешивания, чтобы создать пользовательские типы контейнеров без реализации каждого метода с нуля.