# Objek Iterator

Python provides two general-purpose iterator objects. The first, a sequence iterator, works with an arbitrary sequence supporting the `__getitem__()` method. The second works with a callable object and a sentinel value, calling the callable for each item in the sequence, and ending the iteration when the sentinel value is returned.

PyTypeObject PySeqIter_Type
  Part of the Stable ABI.

  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(PyObject *op)

  Return true if the type of op is `PySeqIter_Type`. This function always succeeds.

PyObject *PySeqIter_New(PyObject *seq)
  Return value: New reference. Part of the Stable ABI.

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

PyTypeObject PyCallIter_Type
  Part of the Stable ABI.

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

int PyCallIter_Check(PyObject *op)

  Return true if the type of op is `PyCallIter_Type`. This function always succeeds.

PyObject *PyCallIter_New(PyObject *callable, PyObject *sentinel)
  Return value: New reference. Part of the Stable ABI.

  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.