Python Buat Iterator
Buat Iterator
Untuk membuat objek/kelas sebagai iterator, Anda harus mengimplementasikan metode
__iter__()
dan
__next__()
ke objek Anda.
Seperti yang telah Anda pelajari di bab Python Classes/Objects , semua kelas memiliki fungsi yang disebut
__init__()
, yang memungkinkan Anda melakukan inisialisasi saat objek sedang dibuat.
Metode __iter__()
ini bertindak serupa, Anda dapat melakukan operasi (menginisialisasi dll.), tetapi harus selalu mengembalikan objek iterator itu sendiri.
Metode __next__()
ini juga memungkinkan Anda untuk melakukan operasi, dan harus mengembalikan item berikutnya secara berurutan.
Contoh
Buat iterator yang mengembalikan angka, dimulai dengan 1, dan setiap urutan akan bertambah satu (mengembalikan 1,2,3,4,5 dll.):
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(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))