Автор оригинала: 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 ()
. Некоторые из классов также предоставляют реализации методов, и их можно использовать в качестве смешивания, чтобы создать пользовательские типы контейнеров без реализации каждого метода с нуля.