Python Iterators: Apa itu Iterator di Python dan bagaimana menggunakannya?



Dalam blog ini di iterator Python, kita akan melakukan kajian mendalam mengenai Iterator di Python dan bagaimana ia dilaksanakan.

Bahasa pengaturcaraan Python telah meningkatkan setiap aspek inovasi termasuk , , , dan lain-lain Salah satu sebab untuk prestasi ini adalah konsep seperti Python Iterators, konsep seperti ini adalah asas pembinaan kejayaan Python sebagai bahasa pengaturcaraan. Dalam artikel ini, kita akan melalui konsep berikut untuk memahami Python Iterators:

Iterator vs Iterable

Objek di Python, yang dapat digunakan sebagai objek Iterable disebut sebagai Iterable. Ini pada dasarnya bermaksud urutan dalam objek dapat diulang. Sebilangan besar koleksi Python seperti senarai , , tupel , set , dan sekata julat boleh dianggap sebagai Iterable.





Apa itu Python Iterators?

Python I terator ialah bekas yang mengandungi sejumlah nilai. Nilai dalam bekas boleh dilalui menggunakan Iterator - terutamanya senarai.

Selain melintasi, Iterator juga memberikan akses kepada elemen data dalam bekas tetapi tidak berfungsi sendirilelaraniaitu, tanpa beberapa kebebasan yang signifikan yang diambil dengan konsep itu atau dengan penggunaan istilah yang remeh. Iterator hampir serupa dengan akursor pangkalan datadalam tingkah laku. Berikut adalah contoh ringkas Iterator di .



my_obj = {'Edureka', 'Python', 'iterator'} iter_obj = iter (my_obj) cetakan (seterusnya (iter_obj))

Pengeluaran: Edureka

Iterator adalah jenis Python yang boleh digunakan dengan 'for in loop'.Apa-apa objek yang akan digunakan sebagai Iterator mesti melaksanakan kaedah berikut.

iterator di python - edureka



1. __iter __ ()

Ia dipanggil pada permulaan Iterator.Ia harus mengembalikan objek yang mempunyai kaedah seterusnya atau __seterusnya.

2. __sebelah __ ()

Kaedah Iterator seterusnya mengembalikan nilai seterusnya untuk Iterable.

Apabila Iterator digunakan dengan gelung ‘for in’, seterusnya () secara tidak langsung dipanggil oleh pada objek Iterator. Kaedah ini harus menggunakan StopIteration untuk menandakan berakhirnya lelaran.Bersama-sama kedua kaedah ini disebut Iterator Protocol. Mari kita cuba memahami bagaimana a untuk loop berfungsi sebagai Iterator di Python dengan contohnya.

untuk i dalam objek: cetak (i)

Mari kita fahami bagaimana gelung berfungsi sebagai Iterator.

# buat objek iterator dari iterable iter_obj = iter (iterable) # loop tanpa batas sementara Benar: cuba: # dapatkan elemen item seterusnya = seterusnya (iter_obj) # lakukan sesuatu dengan elemen kecuali StopIteration: # jika StopIteration dinaikkan, putus dari gelung rehat

Sekarang kita tahu, bagaimana untuk gelung berfungsi sebagai Iterator. Marilah kita memahami bagaimana kita dapat melaksanakan Iterator khusus di Python.

Iterator Tersuai

Sekarang mari kita lihat bagaimana kita dapat melaksanakan Iterator khusus di Python. Untuk memahami perkara ini, kami akan menggunakan contoh. Dalam contoh ini, kita akan melaksanakan kaedah __iter __ () dan __next __ ().

kelas 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) cetakan (seterusnya (seterusnya myiter)) cetak (seterusnya (myiter)) cetak (seterusnya (myiter))

Pengeluaran: satu

2

3

Setelah mengetahui bagaimana kita dapat melaksanakan Iterator khusus, mari kita lihat Iterator yang tidak terhingga di Python.

Iterator yang tidak terhingga

Tidak semestinya wajib bahawa item dalam objek Iterator harus habis. Mungkin ada Iterator yang tidak terbatas (yang tidak pernah berakhir). Berikut adalah contoh asas untuk menunjukkan iterator yang tidak terhingga.

Yang terbina dalam iter ()boleh disebut dengan dua argumen di mana argumen pertama mestilah objek (fungsi) yang boleh disebut dan kedua adalah sentinel. Iterator memanggil fungsi ini sehingga nilai yang dikembalikan menjadi sama dengan sentinel.

Mari kita ambil contoh untuk memahami perkara ini

kelas 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) cetakan (seterusnya (seterusnya cetak (seterusnya (myiter)) cetak (seterusnya (myiter)) cetak (seterusnya (myiter)) cetak (seterusnya (myiter))

Pengeluaran: satu
2
3
4
5

Dalam contoh di atas, pelaksanaan akan berterusan selagi kita terus menambahkan pernyataan cetak. Untuk menghentikan Iterator yang tidak terhingga, kita perlu menggunakan pernyataan stopIteration.

pengendalian pengecualian pl / sql

StopIterasi

Untuk menghentikan pengulangan terus berlaku, kami menggunakan pernyataan StopIteration. Mari kita fahami ini dengan beberapa contoh.

kelas 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: cetak (x)

Pengeluaran: satu
2
3
4
5

Sekarang sebaik sahaja syaratnya salah, pelaksanaan akan berpindah ke blok lain dan Iterasi akan berhenti. Sekarang mari kita lihat beberapa contoh Iterator lain di Python.

Contoh Python Iterator

Berikut adalah beberapa contoh Iterator di Python.

my_obj = ['Edureka', 'python', 'iterator'] iter_obj = iter (my_obj) cetakan (seterusnya (iter_obj))

Pengeluaran: Edureka

Dalam contoh ini, kita menggunakan tuple sebagai objek berulang.

my_obj = ('Edureka', 'python', 'iterator') iter_obj = iter (my_obj) cetakan (seterusnya (iter_obj))

Pengeluaran: Edureka

Kita bahkan boleh menggunakan tali sebagai objek berulang dalam python.

my_obj = 'Edureka' iter_obj = iter (my_obj) cetakan (seterusnya (iter_obj))

Pengeluaran: ADALAH

Ini membawa kita ke akhir artikel ini di mana kita telah belajar bagaimana kita menggunakan Python Iterators dengan contoh. Saya harap anda jelas dengan semua yang telah dikongsi dengan anda dalam tutorial ini.

Sekiranya anda mendapati artikel ini mengenai 'Python Iterators' relevan, lihatlah syarikat pembelajaran dalam talian yang dipercayai dengan rangkaian lebih daripada 250,000 pelajar berpuas hati yang tersebar di seluruh dunia.

Kami di sini untuk membantu anda dalam setiap langkah dalam perjalanan anda dan menyediakan kurikulum yang dirancang untuk pelajar dan profesional yang ingin menjadi . Kursus ini dirancang untuk memberi anda permulaan dalam pengaturcaraan Python dan melatih anda untuk konsep Python teras dan maju bersama dengan pelbagai suka

Sekiranya anda menemui sebarang pertanyaan, jangan ragu untuk mengajukan semua soalan anda di bahagian komen 'Python Iterators'. Pasukan kami dengan senang hati akan menjawab.