Python Yineleyiciler
Yineleyici, sayılabilir sayıda değer içeren bir nesnedir.
Yineleyici, üzerinde yinelenebilen bir nesnedir, yani tüm değerler arasında gezinebilirsiniz.
Teknik olarak Python'da yineleyici, __iter__() ve __next__() yöntemlerinden oluşan yineleyici protokolünü uygulayan bir nesnedir.
list, tuple, set, string gibi türler yinelenebilir nesnelerdir. Bunlar bir iter() adı verilen yineleyicilerle kullanılabilir.
PYTHON Kodu
veriler = ("elma", "muz", "kiraz")
yineleyici = iter(veriler)
print(next(yineleyici))
print(next(yineleyici))
print(next(yineleyici))
Yinelenebilir Sınıf Oluşturmak
Kendi tasarladığınız sınıflar için de yinelenebilirlik özelliğini kullanabilirsiniz. Bunun için sınıf içerisine __iter__() ve __next__() yöntemi eklemeniz yeterlidir.
PYTHON Kodu
class Sayilarim:
def __iter__(self):
self.a = 1
return self
def __next__(self):
if self.a <= 20:
x = self.a
self.a += 1
return x
else:
raise StopIteration
sinifim = Sayilarim()
yinelemem = iter(sinifim)
for x in yinelemem:
print(x)
Yukarıdaki örnekte raise StopIteration, yinelenecek değer yoksa eğer derleyicinin hata mesajı vermesini sağlayacaktır.
Kaynak
Yorumunuzu Ekleyin