Python Iterators: Apa itu Iterator dengan Python dan bagaimana cara menggunakannya?



Di blog tentang iterator Python ini, kami akan melakukan studi mendalam tentang Iterator dengan Python dan bagaimana penerapannya.

Bahasa pemrograman Python telah meningkatkan setiap aspek inovasi termasuk , , , dll. Salah satu dari banyak alasan untuk prestasi ini adalah konsep seperti Python Iterator, konsep seperti ini adalah blok bangunan keberhasilan Python sebagai bahasa pemrograman. Pada artikel ini, kita akan membahas konsep-konsep berikut untuk memahami Python Iterators:

Iterator vs Iterable

Objek dalam Python, yang dapat digunakan sebagai objek Iterable disebut sebagai Iterable. Ini pada dasarnya berarti urutan dalam objek dapat diulangi. Sebagian besar koleksi Python menyukai file daftar , , tupel , set , dan bahkan jarak dapat diperlakukan sebagai Iterable.





Apa Itu Python Iterators?

Sebuah Python I terator adalah wadah yang berisi sejumlah nilai yang dapat dihitung. Nilai dalam container dapat dilintasi menggunakan Iterator - khususnya daftar.

Selain traversal, Iterator juga memberikan akses ke elemen data dalam container tetapi tidak berfungsi dengan sendirinyapengulanganyaitu, bukannya tanpa kebebasan signifikan yang diambil dengan konsep itu atau dengan penggunaan terminologi yang sepele. Iterator hampir mirip dengan akursor databasedalam perilaku. Berikut adalah contoh sederhana dari Iterator in .



my_obj = {'Edureka', 'Python', 'iterator'} iter_obj = iter (my_obj) print (selanjutnya (iter_obj))

Keluaran: Edureka

Iterator adalah semua jenis Python yang dapat digunakan dengan 'for in loop'.Objek apa pun yang akan digunakan sebagai Iterator harus menerapkan metode berikut.

iterator dengan python - edureka



1. __iter __ ()

Ini disebut inisialisasi Iterator.Ini harus mengembalikan objek yang memiliki metode berikutnya atau __next__.

2. __next __ ()

Metode Iterator selanjutnya mengembalikan nilai berikutnya untuk Iterable.

Ketika Iterator digunakan dengan loop 'untuk masuk', next () secara implisit dipanggil oleh pada objek Iterator. Metode ini harus menggunakan StopIteration untuk menandai akhir dari iterasi.Bersama-sama, kedua metode ini disebut Protokol Iterator. Mari kita coba memahami bagaimana for loop bertindak sebagai Iterator dengan Python dengan sebuah contoh.

untuk saya dalam objek: print (i)

Mari kita pahami cara kerja for loop sebagai Iterator.

# buat objek iterator dari iterable iter_obj = iter (iterable) # infinite loop while True: coba: # get the next item element = next (iter_obj) # lakukan sesuatu dengan elemen kecuali StopIteration: # jika StopIteration dimunculkan, putus dari loop istirahat

Sekarang kita tahu, bagaimana untuk loop bekerja sebagai Iterator. Mari kita pahami bagaimana kita bisa mengimplementasikan Iterator kustom dengan Python.

Iterator Kustom

Sekarang mari kita lihat bagaimana kita dapat mengimplementasikan Iterator kustom dengan Python. Untuk memahami ini, kami akan menggunakan sebuah contoh. Dalam contoh ini, kami akan mengimplementasikan metode __iter __ () dan __next __ ().

class MyNumbers: def __iter __ (self): self.a = 1 return self def __next __ (self): x = self.a self.a + = 1 return x myclass = MyNumbers () myiter = iter (myclass) print (selanjutnya ( myiter)) print (next (myiter)) print (next (myiter))

Keluaran: satu

2

3

Sekarang kita tahu bagaimana kita dapat mengimplementasikan Iterator khusus, mari kita lihat Iterator tak terbatas dengan Python.

Iterator tak terbatas

Item dalam objek Iterator tidak selalu wajib habis. Mungkin ada Iterator tak terbatas (yang tidak pernah berakhir). Berikut adalah contoh dasar untuk mendemonstrasikan iterator tak hingga.

Bawaan iter ()bisa dipanggil dengan dua argumen dimana argumen pertama harus berupa objek (fungsi) yang bisa dipanggil dan yang kedua adalah sentinel. Iterator memanggil fungsi ini sampai nilai yang dikembalikan menjadi sama dengan sentinel.

Mari kita ambil contoh untuk memahami ini

class MyNumbers: def __iter __ (self): self.a = 1 return self def __next __ (self): x = self.a self.a + = 1 return x myclass = MyNumbers () myiter = iter (myclass) print (selanjutnya ( myiter)) print (next (myiter)) print (next (myiter)) print (next (myiter)) print (next (myiter))

Keluaran: satu
2
3
4
5

Dalam contoh di atas, eksekusi akan terus berjalan selama kita terus menambahkan pernyataan print. Untuk menghentikan Iterator tak terbatas, kita perlu menggunakan pernyataan stopIteration.

apa perbedaan antara hashtable dan hashmap

StopIteration

Untuk menghentikan Iterasi berlangsung selamanya, kami menggunakan pernyataan StopIteration. Mari kita pahami ini dengan beberapa contoh.

class MyNumbers: def __iter __ (self): self.a = 1 return self def __next __ (self): if self.a & ampampamplt = 5: x = self.a self.a + = 1 return x else: naikkan StopIteration myclass = MyNumbers () myiter = iter (myclass) untuk x di myiter: print (x)

Keluaran: satu
2
3
4
5

Sekarang segera setelah kondisi salah, eksekusi akan pindah ke blok else dan Iterasi akan berhenti. Sekarang mari kita lihat beberapa contoh Iterator dengan Python lainnya.

Contoh Python Iterator

Berikut beberapa contoh Iterator dengan Python.

my_obj = ['Edureka', 'python', 'iterator'] iter_obj = iter (my_obj) print (selanjutnya (iter_obj))

Keluaran: Edureka

Dalam contoh ini, kami menggunakan tupel sebagai objek iterable.

my_obj = ('Edureka', 'python', 'iterator') iter_obj = iter (my_obj) print (selanjutnya (iter_obj))

Keluaran: Edureka

Kami bahkan dapat menggunakan string sebagai objek iterable di python.

my_obj = 'Edureka' iter_obj = iter (my_obj) print (selanjutnya (iter_obj))

Keluaran: AKU S

Ini membawa kita ke akhir artikel ini di mana kita telah mempelajari bagaimana kita menggunakan Python Iterator dengan contoh-contoh. Saya harap Anda jelas dengan semua yang telah dibagikan dengan Anda dalam tutorial ini.

Jika Anda menemukan artikel tentang 'Python Iterators' ini relevan, lihat perusahaan pembelajaran online tepercaya dengan jaringan lebih dari 250.000 pelajar puas yang tersebar di seluruh dunia.

Kami di sini untuk membantu Anda dengan setiap langkah dalam perjalanan Anda dan menghasilkan kurikulum yang dirancang untuk siswa dan profesional yang ingin menjadi . Kursus ini dirancang untuk memberi Anda permulaan dalam pemrograman Python dan melatih Anda untuk konsep inti dan lanjutan Python bersama dengan berbagai Suka

Jika Anda menemukan pertanyaan, jangan ragu untuk menanyakan semua pertanyaan Anda di bagian komentar 'Python Iterators'. Tim kami akan dengan senang hati menjawabnya.