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.