Протокол послідовності¶
-
int PySequence_Check(PyObject *o)¶
- Part of the Stable ABI.
Return
1if the object provides the sequence protocol, and0otherwise. Note that it returns1for Python classes with a__getitem__()method, unless they aredictsubclasses, since in general it is impossible to determine what type of keys the class supports. This function always succeeds.
-
Py_ssize_t PySequence_Size(PyObject *o)¶
-
Py_ssize_t PySequence_Length(PyObject *o)¶
- Part of the Stable ABI.
Повертає кількість об’єктів у послідовності o в разі успіху та
-1в разі невдачі. Це еквівалентно виразу Pythonlen(o).
-
PyObject *PySequence_Concat(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Повертає конкатенацію o1 і o2 у разі успіху та
NULLу разі невдачі. Це еквівалент виразу Pythono1 + o2.
-
PyObject *PySequence_Repeat(PyObject *o, Py_ssize_t count)¶
- Return value: New reference. Part of the Stable ABI.
Повертає результат повторення об’єкта послідовності o count разів або
NULLу разі помилки. Це еквівалент виразу Pythono * count.
-
PyObject *PySequence_InPlaceConcat(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Повертає конкатенацію o1 і o2 у разі успіху та
NULLу разі невдачі. Операція виконується на місці, якщо o1 її підтримує. Це еквівалент виразу Pythono1 += o2.
-
PyObject *PySequence_InPlaceRepeat(PyObject *o, Py_ssize_t count)¶
- Return value: New reference. Part of the Stable ABI.
Повертає результат повторення об’єкта послідовності o count разів або
NULLу разі помилки. Операція виконується на місці, якщо o її підтримує. Це еквівалент виразу Pythono *= count.
-
PyObject *PySequence_GetItem(PyObject *o, Py_ssize_t i)¶
- Return value: New reference. Part of the Stable ABI.
Повертає i-й елемент o або
NULLу разі помилки. Це еквівалент виразу Pythono[i].
-
PyObject *PySequence_GetSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2)¶
- Return value: New reference. Part of the Stable ABI.
Повертає зріз об’єкта послідовності o між i1 і i2 або
NULLу разі помилки. Це еквівалент виразу Pythono[i1:i2].
-
int PySequence_SetItem(PyObject *o, Py_ssize_t i, PyObject *v)¶
- Part of the Stable ABI.
Призначте об’єкт v до iго елемента o. Викликати виняток і повертати
-1у разі помилки; повернути0в разі успіху. Це еквівалент оператора Pythono[i] = v. Ця функція не викрадає посилання на v.Якщо v має значення
NULL, елемент видаляється, але ця функція застаріла на користь використанняPySequence_DelItem().
-
int PySequence_DelItem(PyObject *o, Py_ssize_t i)¶
- Part of the Stable ABI.
Видалити ith елемент об’єкта o. Повертає
-1у разі помилки. Це еквівалент оператора Pythondel o[i].
-
int PySequence_SetSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2, PyObject *v)¶
- Part of the Stable ABI.
Призначте об’єкт послідовності v фрагменту в об’єкті послідовності o від i1 до i2. Це еквівалент оператора Python
o[i1:i2] = v.
-
int PySequence_DelSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2)¶
- Part of the Stable ABI.
Видалити фрагмент у послідовному об’єкті o від i1 до i2. Повертає
-1у разі помилки. Це еквівалент оператора Pythondel o[i1:i2].
-
Py_ssize_t PySequence_Count(PyObject *o, PyObject *value)¶
- Part of the Stable ABI.
Повертає кількість входжень value у o, тобто повертає кількість ключів, для яких
o[key] == value. У разі помилки поверніть-1. Це еквівалентно виразу Pythono.count(value).
-
int PySequence_Contains(PyObject *o, PyObject *value)¶
- Part of the Stable ABI.
Визначте, чи o містить value. Якщо елемент у o дорівнює value, поверніть
1, інакше поверніть0. У разі помилки повертає-1. Це еквівалентно виразу Pythonзначення в o.
-
Py_ssize_t PySequence_Index(PyObject *o, PyObject *value)¶
- Part of the Stable ABI.
Повертає перший індекс i, для якого
o[i] == значення. У разі помилки повертає-1. Це еквівалентно виразу Pythono.index(value).
-
PyObject *PySequence_List(PyObject *o)¶
- Return value: New reference. Part of the Stable ABI.
Повертає об’єкт списку з тим же вмістом, що й послідовність або ітерація o, або
NULLу разі помилки. Повернений список гарантовано буде новим. Це еквівалентно виразу Pythonlist(o).
-
PyObject *PySequence_Tuple(PyObject *o)¶
- Return value: New reference. Part of the Stable ABI.
Повертає об’єкт кортежу з тим самим вмістом, що й послідовність або повторюваний o, або
NULLу разі помилки. Якщо o є кортежем, буде повернуто нове посилання, інакше буде створено кортеж із відповідним вмістом. Це еквівалентно виразу Pythontuple(o).
-
PyObject *PySequence_Fast(PyObject *o, const char *m)¶
- Return value: New reference. Part of the Stable ABI.
Повертає послідовність або ітерацію o як об’єкт, який можна використовувати іншою сім’єю функцій
PySequence_Fast*. Якщо об’єкт не є послідовністю або ітерацією, викликаєTypeErrorз m як текст повідомлення. ПовертаєNULLу разі помилки.Функції
PySequence_Fast*названо так, оскільки вони припускають, що o єPyTupleObjectабоPyListObjectі мають прямий доступ до полів даних o.Як деталь реалізації CPython, якщо o вже є послідовністю або списком, він буде повернутий.
-
Py_ssize_t PySequence_Fast_GET_SIZE(PyObject *o)¶
Повертає довжину o, припускаючи, що o було повернуто
PySequence_Fast()і що o не єNULL. Розмір також можна отримати, викликавшиPySequence_Size()на o, алеPySequence_Fast_GET_SIZE()швидше, тому що він може припускати, що o є списком або кортежем.
-
PyObject *PySequence_Fast_GET_ITEM(PyObject *o, Py_ssize_t i)¶
- Return value: Borrowed reference.
Повертає i-й елемент o, припускаючи, що o було повернуто
PySequence_Fast(), o не єNULLі що i знаходиться в межах.
-
PyObject **PySequence_Fast_ITEMS(PyObject *o)¶
Повертає базовий масив покажчиків PyObject. Припускає, що o було повернуто
PySequence_Fast()і o не єNULL.Зверніть увагу: якщо розмір списку змінено, перерозподіл може перемістити масив елементів. Отже, використовуйте покажчик базового масиву лише в контекстах, де послідовність не може змінитися.
-
PyObject *PySequence_ITEM(PyObject *o, Py_ssize_t i)¶
- Return value: New reference.
Повертає i-й елемент o або
NULLу разі помилки. Швидша формаPySequence_GetItem(), але без перевірки того, щоPySequence_Check()на o є істинним, і без коригування негативних індексів.