Ітератор об’єктів¶
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, ітерація буде припинена.