Yinelenebilir (Iterable) Objeler
İ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.