Iterator yaratish


Iterator yaratish

Obyekt/sinfni iterator sifatida yaratish uchun obyektingizda __iter__() va __next__() metodlarini amalga oshirishingiz kerak.

Python sinflari/obyektlari bobida o‘rganganingizdek, barcha sinflarda __init__() deb nomlangan funksiya bor bo‘lib, u obyekt yaratilayotganda boshlang‘ich sozlashlarni (initsializatsiya) bajarish imkonini beradi.

__iter__() metodi ham shunga o‘xshash ishlaydi: unda amallar (initsializatsiya va h.k.) bajarish mumkin, lekin u har doim iterator obyektining o‘zini qaytarishi shart.

__next__() metodi ham amallar bajarish imkonini beradi va ketma-ketlikdagi keyingi elementni qaytarishi shart.

Misol

1 dan boshlab sonlarni qaytaradigan va har qadamda bittaga oshib boradigan iterator yarating (1,2,3,4,5 va h.k. qaytariladi):

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))
O‘zingiz sinab ko‘ring »



W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!