Ітератор об’єктів¶
Python надає два об’єкти-ітератори загального призначення. Перший, ітератор послідовності, працює з довільною послідовністю, що підтримує метод __getitem__(). Другий працює з викликаним об’єктом і контрольним значенням, викликаючи викликаний об’єкт для кожного елемента в послідовності та закінчуючи ітерацію, коли повертається контрольне значення.
-
PyTypeObject PySeqIter_Type¶
- Part of the Stable ABI.
Об’єкт типу для об’єктів-ітераторів, які повертає
PySeqIter_New(), і форма з одним аргументом вбудованої функціїiter()для вбудованих типів послідовностей.
-
int PySeqIter_Check(PyObject *op)¶
Повертає true, якщо op має тип
PySeqIter_Type. Ця функція завжди успішна.
-
PyObject *PySeqIter_New(PyObject *seq)¶
- Return value: New reference. Part of the Stable ABI.
Повертає ітератор, який працює з об’єктом загальної послідовності seq. Ітерація завершується, коли послідовність викликає
IndexErrorдля операції підписання.
-
PyTypeObject PyCallIter_Type¶
- Part of the Stable ABI.
Об’єкт типу для об’єктів-ітераторів, що повертаються
PyCallIter_New()і формою з двома аргументами вбудованої функціїiter().
-
int PyCallIter_Check(PyObject *op)¶
Повертає true, якщо тип op
PyCallIter_Type. Ця функція завжди успішна.
-
PyObject *PyCallIter_New(PyObject *callable, PyObject *sentinel)¶
- Return value: New reference. Part of the Stable ABI.
Повернути новий ітератор. Перший параметр, callable, може бути будь-яким викликаним об’єктом Python, який можна викликати без параметрів; кожен виклик має повертати наступний елемент ітерації. Коли callable повертає значення, рівне sentinel, ітерація буде припинена.
Range Objects¶
-
PyTypeObject PyRange_Type¶
- Part of the Stable ABI.
The type object for
rangeobjects.
Builtin Iterator Types¶
These are built-in iteration types that are included in Python’s C API, but provide no additional functions. They are here for completeness.
C type |
Python type |
|---|---|
|
|
|
|
|
|
|
|
|
Other Iterator Objects¶
-
PyTypeObject PyByteArrayIter_Type¶
- Part of the Stable ABI.
-
PyTypeObject PyBytesIter_Type¶
- Part of the Stable ABI.
-
PyTypeObject PyListIter_Type¶
- Part of the Stable ABI.
-
PyTypeObject PyListRevIter_Type¶
- Part of the Stable ABI.
-
PyTypeObject PySetIter_Type¶
- Part of the Stable ABI.
-
PyTypeObject PyTupleIter_Type¶
- Part of the Stable ABI.
-
PyTypeObject PyRangeIter_Type¶
- Part of the Stable ABI.
-
PyTypeObject PyLongRangeIter_Type¶
- Part of the Stable ABI.
-
PyTypeObject PyDictIterKey_Type¶
- Part of the Stable ABI.
-
PyTypeObject PyDictRevIterKey_Type¶
- Part of the Stable ABI since version 3.8.
-
PyTypeObject PyDictIterValue_Type¶
- Part of the Stable ABI.
-
PyTypeObject PyDictRevIterValue_Type¶
- Part of the Stable ABI since version 3.8.
-
PyTypeObject PyDictIterItem_Type¶
- Part of the Stable ABI.
-
PyTypeObject PyDictRevIterItem_Type¶
- Part of the Stable ABI since version 3.8.
Type objects for iterators of various built-in objects.
Do not create instances of these directly; prefer calling
PyObject_GetIter()instead.Note that there is no guarantee that a given built-in type uses a given iterator type. For example, iterating over
rangewill use one of two iterator types depending on the size of the range. Other types may start using a similar scheme in the future, without warning.