Jump to content

Python

  • entries
    66
  • comments
    0
  • views
    25,548

Yinelenebilir (Iterable) Objeler


Doğuhan ELMA

138 views

İterasyon, genel anlamıyla bir işlemin tekrarlanmasıdır. Programlamada ise, iterasyon bir dizi, liste, tuple veya herhangi bir yinelenebilir objenin üzerinde gezinmeyi ifade eder. Python'da for ve while döngüleri sıklıkla iterasyon için kullanılır.

Yinelenebilir (Iterable) Objeler

Python'da listeler, diziler (tuple), dizeler (string), sözlükler (dictionary) ve daha fazlası gibi birçok nesne yinelenebilir (iterable) olarak kabul edilir. Bu tür objeler üzerinde gezinerek, bu objelerin içindeki her bir öğeye sırayla ulaşabiliriz. Bu gezinme işlemine iterasyon denir.

Örneğin bir liste üzerinde iterasyon yapalım:

fruits = ['apple', 'banana', 'cherry']

for fruit in fruits:
    print(fruit)

Bu kodda, for döngüsü fruits listesinin üzerinde iterasyon yaparak her bir öğeyi (fruit) sırayla ekrana yazdırır.

İteratörler (Iterators)

Python'daki yinelenebilir nesneler, __iter__() ve __next__() metodlarına sahiptir. Bu metodlar sayesinde bir yinelenebilir nesnenin üzerinde gezinmek mümkündür. Bu metodları sağlayan objelere iteratör denir.

Yinelenebilir bir objeden iteratör oluşturmak için iter() fonksiyonu, iteratörden bir sonraki değeri almak için next() fonksiyonu kullanılır:

my_tuple = ("apple", "banana", "cherry")
my_iterator = iter(my_tuple)

print(next(my_iterator))  # "apple"
print(next(my_iterator))  # "banana"
print(next(my_iterator))  # "cherry"

Bu kodda my_tuple isimli yinelenebilir bir objeden bir iteratör oluşturduk ve next() fonksiyonu ile bu iteratörün her bir öğesini sırayla aldık.

Bir iteratörün tüm öğeleri tüketildiğinde, next() fonksiyonu StopIteration hatası verir. Bu durum genellikle for döngüsü ile otomatik olarak yönetilir. Yani for döngüsü bir yinelenebilir objenin üzerinde otomatik olarak iterasyon yapar ve tüm öğeler tükendiğinde döngüyü durdurur. Bu sayede StopIteration hatasını manuel olarak yönetmek zorunda kalmayız.

0 Comments


Recommended Comments

There are no comments to display.

Guest
Add a comment...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...