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 bawaaniter()untuk tipe urutan bawaan.
-
int PySeqIter_Check(PyObject *op)¶
Mengembalikan nilai true jika tipe op adalah
PySeqIter_Type. Fungsi ini selalu berhasil.
-
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 tersebut menghasilkan
IndexErroruntuk operasi subskrip.
-
PyTypeObject PyCallIter_Type¶
- Part of the Stable ABI.
Tipe objek untuk objek iterator yang dikembalikan oleh
PyCallIter_New()dan bentuk dua argumen dari fungsi bawaaniter().
-
int PyCallIter_Check(PyObject *op)¶
Mengembalikan nilai true jika tipe op adalah
PyCallIter_Type. Fungsi ini selalu berhasil.
-
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.
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.
tipe C |
tipe Python |
|---|---|
|
|
|
|
|
|
|
|
|
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.