Objek Iterator

Python menyediakan dua objek iterator untuk tujuan umum. Yang pertama, iterator urutan, bekerja dengan objek yang mendukung metode __getitem__(). Yang kedua bekerja dengan objek yang bisa dipanggil dan nilai penjaga (sentinel), memanggil callable untuk setiap item dalam urutan, dan mengakhiri iterasi ketika nilai penjaga dikembalikan.

PyTypeObject PySeqIter_Type

Tipe objek untuk objek iterator yang dikembalikan oleh PySeqIter_New() dan bentuk satu argumen dari fungsi bawaan iter() untuk tipe urutan bawaan.

int PySeqIter_Check(op)

Return true if the type of op is PySeqIter_Type.

PyObject* PySeqIter_New(PyObject *seq)
Return value: New reference.

Mengembalikan iterator yang bekerja dengan objek urutan umum, seq. Iterasi berakhir ketika urutan memunculkan IndexError untuk operasi berlangganan (subscripting).

PyTypeObject PyCallIter_Type

Tipe objek untuk objek iterator yang dikembalikan oleh PyCallIter_New() dan bentuk dua argumen dari fungsi bawaan iter() .

int PyCallIter_Check(op)

Return true if the type of op is PyCallIter_Type.

PyObject* PyCallIter_New(PyObject *callable, PyObject *sentinel)
Return value: New reference.

Mengembalikan iterator baru. Parameter pertama, callable, dapat berupa objek Python callable apa saja yang bisa dipanggil tanpa parameter; setiap pemanggilan harus mengembalikan butir (item) berikutnya pada iterator. Ketika callable mengembalikan nilai sama dengan sentinel, perulangan akan dihentikan.