Bu yazıda, literatürde 'Demetler' olarak da geçen 'Tuple' yapılarını ele alacağız. Tuple'lar listelere çok benzer yapılardır ancak syntax yapısının yanında keskin bir farkı daha vardır. İlk önce bir Tuple'ın nasıl tanımlandığına bakalım.

Boş bir liste tanımlarken bunu köşeli parantezler ile yapıyorduk. Tuple'larda ise bunu, normal parantezler ile sağlıyoruz. myTuple = () ifadesinin tipini yazdırdığımız zaman 'class tuple' olduğunu görüyoruz. Yani bu gerçekten de bir Tuple.
Peki, Tuple içerisine nasıl tanımlamalar yapabiliriz?

Gördüğünüz üzere bir Tuple içerisine farklı veri tiplerine sahip değerler verebiliyoruz; liste gibi. Eleman çağırmayı deneyelim mi?

Listelerde olduğu gibi eleman çağırma işlemini de yapabiliyoruz. Ayrıca burada index mantığı da söz konusu. Peki, madem bunlar listelere çok benziyor; isterseniz bir eleman çıkarmayı deneyelim.

"AttributeError: 'tuple' object has no attribute 'pop'". Yani "'tuple' objesinde 'pop' özelliği yok." şeklinde bir hata aldık. İlginç. Devam edelim; oraya yeni bir eleman eklemeye çalışalım.

Bu sefer de şu hatayı aldık: "TypeError: 'tuple' object does not support item assignment." Yani "'tuple' objesi yeni eleman atamasını desteklemiyor." Peki, bu Tuple dediğimiz enteresan yapılarla ne halt edebiliyoruz, bakalım.

dir(tuple) dediğimiz zaman bize, kullanabileceğimiz fonksiyonları veriyordu. Ancak burada '__x__' şeklinde olanları şimdilik dikkate almıyoruz; zamanı gelince bunların ne işe yaradığını göreceğiz. Kullanabileceğimiz fonksiyonlar sade bir şekilde yazılmış olanlardır; 'count' ve 'index'.
'count' fonksiyonu bir listede bir elemanın kaç defa geçtiğini bize gösteriyordu; 'index' ise bir elemanın kaçıncı index'te olduğunu görmemize olanak tanıyordu. Ekleme, çıkarma, değiştirme gibi özelliklerin burada olmadığını görüyorsunuz.
Bunun sebebi, Tuple yapılarının değiştirilemez olmasından kaynaklıdır. Listeler ile arasındaki en temel fark budur; Tuple yapılarını nasıl tanımladıysanız sonrasında bunları bu şekilde kullanmak zorundasınızdır. Yalnızca kod üzerinde el ile oynama yaparak değiştirebilirsiniz; dışarıdan bir müdahale ile değiştirilemezlerdir.
Tuple yapıları liste yapılarına göre daha hızlı ve güvenlidir. Eğer bir projede değiştirilmesine pek gerek olmayan veya değiştirilmesini istemediğiniz ifadeler söz konusuysa bunları liste yapılarında tutmak yerine Tuple yapılarında tutmak size hem hız hem de güvenlik sağlayacaktır.
Tuple yapılarının mantığını öğrendiğimize göre ilk önce size yeni bir şey daha göstermek istiyorum. dir(tuple) dediğimiz zaman bize, kullanabileceğimiz fonksiyonların yanında '__x__' şeklinde, kullanamayacağımız ifadeleri de gösteriyor. Bu noktada sadece kullanabileceğimiz fonksiyonları görmek için nasıl bir kod yazarsınız? Kodu aşağı bırakıyorum; içerisinde anlayamayacağınız hiçbir şey yok. Lütfen anlamaya çalışın ve deneyin.

Şimdi, madem kullanabileceğimiz iki fonksiyonumuz var; o zaman bunları deneyelim. Ancak bunları zaten liste yapılarından bildiğiniz için sadece ekran görüntüsü vereceğim.
count()
index()
Yayınlanma Tarihi: 2022-10-30 13:07:35
Son Düzenleme Tarihi: 2022-11-02 15:19:15