Python menyediakan dua objek iterator untuk tujuan umum. Yang pertama, iterator urutan, bekerja dengan objek yang mendukung metode Show
Table of Contents
PySeqIter_Type ¶Tipe objek untuk objek iterator yang dikembalikan oleh PySeqIter_Check (op)¶Return true if the type of op is PySeqIter_New (PyObject *seq)¶Return value: New reference.Mengembalikan
iterator yang bekerja dengan objek urutan umum, seq. Iterasi berakhir ketika urutan memunculkan PyCallIter_Type ¶Tipe objek untuk objek iterator yang dikembalikan oleh PyCallIter_Check (op)¶Return true if the type of op is 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. Iterator adalah alat yang berharga untuk Python. Ini adalah objek yang digunakan untuk mengulangi semua elemen koleksi. Iterator memberikan akses ke elemen wadah, tetapi tidak melakukan iterasi sendiri. Ia bekerja seperti kursor database dan digunakan untuk membaca daftar catatan satu per satu. Misalnya, ‘for‘ loop yang mengulangi nilai-nilai wadah berfungsi sebagai iterator. Python memiliki banyak iterator bawaan untuk objek yang dapat diubah, seperti daftar, tupel, kamus, dll. Tanpa iterator ini, ‘itertools‘ fungsi dapat digunakan untuk mengembalikan iterator lain dengan Python. Artikel ini menunjukkan cara menggunakan loop sebagai iterator, custom iterator, infinite iterator, dan mengontrol infinite iterator di Python 3. Beberapa useran ‘itertools‘ fungsi juga dijelaskan di bagian terakhir dari tutorial ini. Metode IteratorSetiap objek iterator berisi dua metode berikut.
Metode ini digunakan untuk menginisialisasi objek iterable. Objek yang dikembalikan memiliki metode ‘_ _next_ _()‘ dengan Python3.
Metode ini mengembalikan nilai berikutnya dari objek yang dapat diubah. Hubungan antara iterator dan objek iterable ditunjukkan pada diagram berikut. Iterasi dengan LoopDisebutkan sebelumnya bahwa ‘for‘ lingkaran memanggil ‘next()‘ secara implisit saat mengulangi objek yang dapat diubah. Ketika sebuah loop digunakan untuk mengulangi objek yang dapat diubah, ‘for‘ lingkaran memanggil ‘next()‘ metode secara implisit dan ‘while‘ lingkaran memanggil ‘next()‘ atau ‘__next__()‘ secara eksplisit untuk membaca nilai berikutnya dari objek yang dapat diubah. Kedua jenis loop terus memanggil metode ini hingga ‘StopIteration‘ sinyal dihasilkan. Contoh 1: Iterasi Objek Iterable dengan ‘untuk’ LoopSkrip berikut menunjukkan useran ‘for‘ loop untuk mengulangi lima objek iterable yang berbeda. Pertama ‘for‘ loop digunakan untuk mengulangi nilai string dan mencetak setiap karakter string di setiap iterasi. Kedua ‘for‘ loop digunakan untuk mengulangi konten file teks yang ada dan mencetak setiap baris file dalam setiap iterasi. Ketiga ‘for‘ loop digunakan untuk mengulang nilai dari sebuah tuple. Yang keempat ‘for‘ loop digunakan untuk mengulangi nilai yang terkandung dalam daftar. Kelima ‘for‘ loop digunakan untuk mengulangi nilai yang terkandung dalam kamus. str = "Python" Keluaran Output berikut me Contoh 2: Iterasi Daftar dengan 'sementara' LoopScript berikut menunjukkan useran 'while' loop untuk mengulangi daftar data. Di sini, 'iter()' digunakan untuk menginisialisasi objek yang dapat diubah, dan 'next()' digunakan untuk membaca nilai berikutnya dari objek yang dapat diubah. StopIteration sinyal digunakan untuk mengakhiri dari yang tak terbatas 'while’ loop ketika tidak ada item dari daftar yang tersisa untuk dibaca.
Keluaran Output berikut menunjukkan bahwa setiap nilai daftar telah dicetak di setiap baris dengan menggunakan 'next()' metode setelah menjalankan skrip. Contoh 3: Iterasi Tuple dengan Metode '__next__()' dan 'sementara' LoopDalam skrip berikut, keduanya 'next()' dan '__next__()' metode yang digunakan untuk iterasi nilai-nilai tupel. 'iter()' metode digunakan untuk membuat objek yang dapat diubah, bernama 'init_iter.' Di sini, 'next()' dipanggil dua kali untuk mencetak dua nilai pertama dari tuple. Selanjutnya, tak terbatas 'while' loop digunakan untuk mengulangi nilai-nilai yang tersisa dari Tuple dan 'StopIteration' digunakan untuk mengakhiri dari loop, seperti pada contoh sebelumnya.
Keluaran Output berikut menunjukkan bahwa setelah menjalankan skrip, dua nilai pertama, 'Bird' dan 'Lion,' dicetak dengan 'next()', sedangkan tiga nilai lainnya, 'Monkey,' 'Snake,' dan 'Elephant,' dicetak dengan '__next__()' metode. Iterasi dengan Iterator KustomBagian ini menunjukkan bagaimana berbagai jenis iterator kustom dapat diimplementasikan dengan membuat kelas. Keduanya '__iter__()' dan '__next__()' metode akan diimplementasikan di kelas, dan 'while' loop akan digunakan untuk mengulangi nilai dari objek yang dapat diubah. Bagian selanjutnya dari artikel ini juga akan menunjukkan cara membuat iterator kustom tak terbatas dan mengontrol iterasi. Contoh 4: Penggunaan Iterator Kustom SederhanaSkrip berikut memungkinkan Anda menghitung nilai xndengan menggunakan iterator khusus tanpa menggunakan fungsi bawaan Python. Kelas bernama 'x_to_the_power_n' dideklarasikan dalam skrip. '__init__()' metode kelas akan menginisialisasi nilai-nilai x dan nyang akan digunakan pada saat pembuatan objek. '__iter__()' metode akan menginisialisasi variabel kelas, yang akan menyimpan 'result' variabel perhitungan di setiap iterasi. Nilai darix dan nakan diambil sebagai masukan dari user. Sebuah objek dari kelas 'numbers' dibuat dengan x dan n. Selanjutnya, objek yang dapat diubah bernama‘iter_obj' dibuat untuk memanggil '__next__()' metode untuk n-1 kali dengan menggunakan 'while' loop untuk menghitung nilai xn. Pada setiap iterasi, nilaix akan dikalikan dengan nilai sebelumnya dari 'result' variabel. Setelah mengakhiri 'while' lingkaran, '__next__()' metode akan dipanggil lagi untuk mencetak nilai xn. n = int(input("Enter the value of n: ")) Keluaran Output berikut menunjukkan bahwa 2 diambil sebagai Contoh 5: Penggunaan Iterator Kustom Tak TerbatasScript berikut akan terus mencetak angka yang habis dibagi 5 dengan penundaan satu detik hingga user menekan Ctrl + c untuk menghasilkan 'KeyboardInterrupt' sinyal. yang tak terbatas'while' loop digunakan di sini untuk membuat iterator kustom tak terbatas. 'time' modul diimpor di awal skrip untuk menggunakan 'sleep()' metode untuk menunda setiap output selama satu detik. Angka 5 diinisialisasi ke 'numvariabel ' sebagai angka pertama yang habis dibagi dalam skrip, dan angka berikutnya dihasilkan dengan menambahkan 5 dengan nilai sebelumnya dari 'num' variabel. # Terminate from the loop when Ctrl+C is pressed Keluaran Output berikut menunjukkan bahwa nomor tersebut mulai mencetak dari 5 dan terus mencetak nomor berikutnya satu demi satu dengan durasi satu detik. Saat user menekanCtrl + c setelah mencetak nomor 60, pesan 'Ctrl+C is pressed.' dicetak, sebelum menghentikan skrip. Contoh 6: Mengontrol Iterator Tak Terbatas KustomSkrip berikut menunjukkan cara menghentikan iterator tak terbatas kustom setelah menyelesaikan sejumlah iterasi yang ditentukan. '__iter__()' metode kelas akan menginisialisasi nilai-nilai 'n' dan 'result' variabel kelas. Script akan menghitung kuadrat dari angka, mulai dari1, yang disimpan dalam variabel n, dan cetak nilai kuadrat dari n sampai nilai n lebih besar dari 5. Perulangan while tak terbatas dideklarasikan di sini untuk memanggil '__next__()' metode untuk mencetak nilai kuadrat dari n. Bila nilain mencapai 6, 'StopIteration' akan menghasilkan sinyal untuk mengakhiri loop. except StopIteration: Keluaran Output berikut menunjukkan bahwa iterator kustom tak terbatas dihentikan ketika nilai n menjadi lebih besar dari 5. Skrip menghitung dan mencetak nilai kuadrat dari nilai angka dari 1 hingga 5. Iterasi dengan itertoolsPython memiliki modul bawaan bernama 'itertools' yang dapat digunakan untuk membuat iterator untuk iterasi data menggunakan loop. Bagian selanjutnya dari artikel ini menunjukkan cara menggunakan tiga fungsi dalam modul ini. itertools.count()Itu ‘itertools.cont' fungsi dapat digunakan dengan 'map()' metode untuk menghasilkan data sekuensial dan dengan 'zip()' metode untuk menambahkan urutan dengan menggunakan parameter count dari metode ini. Sintaks fungsi ini diberikan di bawah ini. Sintaksis ''' following script will calculate Apa itu iterator pada Python?Iterator Python. Sebuah iterator Python adalah kelas yang mendefinisikan sebuah fungsi __iter__() . Sebagian besar objek Python bersifat iterable, artinya kamu bisa melakukan loop terhadap setiap elemen dalam objek tersebut. Contoh iterable pada Python misalnya string, list, tuple, dictionary, dan range. Apa iterator?Iterator merupakan object yang dapat digunakan untuk melakukan iterasi pada collection, seperti ArrayList dan HashSet. Iterator disebut “iterator” karena “iterasi” merupakan istilah teknis untuk pengulangan, yaitu mengakses nilai-nilai yang disimpan pada collection satu per-satu. Apa itu Iterables?Iterables/bisa di iterasi adalah objek yang mengimplementasikan metode Symbol.iterator , seperti yang dideskripsikan diatas. Array-likes/Seperti array adalah objek yang memiliki indeks dan length , jadi mereka terlihat seperti array. |