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!
