Veri Yapısı ve Iterable Nesne Kavramı
13-1.18.12
Aralarında fiziksel ya da mantıksal ilişki olan bir grup nesneden oluşan topluluğa veri yapısı yani data structure denilmektedir.
Python’da built-in bulunan, bir şeyleri import etmeden kullanabileceğimiz,
çeşitli veri yapıları vardır. Bunlar
liste, list
demet, tuple
sözlük, dictionary
küme, set
string, str
olarak sayılabilir. Görece düşük seviyeli dillerin aksine, örneğin C, Python’da görece veri yapıları dilin içerisinde doğrudan desteklenmektedir.
Dolaşılabilir, Iterable Nesne Kavramı
Python’da çok sık kullanılan bir terimdir. Bazı sınıflara ilişkin nesneler dolaşılabilir yani iterable olmaktadır. Bir nesnenin bu özelliğe sahip olması dolaştıkça o nesneden birtakım değerlerin elde edilmesi anlamına gelir. Bu nesneler üzerinde dolaşım yani iteration işlemi yapılabilir.
Dolaşılabilir nesneler genellikle kendi içerisinde birtakım nesneleri tutar. Biz dolaştıkça bize o nesneleri verirler.
Başka nesneleri tutan nesnelere Java ve C# dilinde collection, C++’da ise container denilmektedir.
Örneğin şimdiye kadar gördüğümüz str bir iterable türdür. Gördüğümüz diğer
temel türler bu özelliğe sahip değildir. str nesnesi dolaşıldığı zaman
içerisindeki karakterler elde edilir. Python’da ise karakter diye bir tür
yoktur. str dolaşıldığı zaman her bir karakter birer str olarak elde
edilir. Tabii dolaşılabilir nesnelerin dolaşınca bize neler vereceğini nesne
türü özelinde bilmemiz gerekmektedir.
İsim olarak benzeyen bir de iterator yani dolaşım nesneleri vardır. Dolaşım nesneleri yani iterator nesneler aynı zamanda dolaşılabilir yani iterable nesnelerdir. Bir dolaşılabilir nesne dolaşıldıktan sonra yeniden dolaşılabilir. Bu durumda yine aynı nesneleri elde ederiz. Ancak dolaşım yani iterator nesnesi ise bir kez dolaşıldıktan sonra artık biter. Biz onu dolaşmak istersek tekrar, bir şey elde edemeyiz.