Python diline özgü bir veri tipidir. Listeler gibi birden fazla verinin bir arada tutulmasını sağlar. Listelerden tek farkı listelerde elemanları değiştirebiliyorken, demetlerde tanımladıktan sonra elemanları değiştiremeyiz.
Tuple (demet) Nedir?
Tuple(demet) performans açısından avantaj sağlayan bir yapıdır. Eleman değişikliği olmadığı için bellekte de ona göre tutulur, sadece okunabilir listelerdir.
Tanımlanması yine listelerde olduğu gibidir ama köşeli parantez yerine normal parantez kullanılır. Bir demetin içerisine liste veya demet de ekleyebilirsiniz.

ilk_tuple = () #Boş bir tuple tanımı.
print(ilk_tuple)
sayi_tuple = (5,7,9) #Integer tuple tanımı
print(sayi_tuple)
karma_tuple = (3,"Ali",3.14, [8, 5, 11])
print(karma_tuple)
Listeler gibi index yapısı tupleda da vardır. Ama dediğim gibi eleman değişikliği yapılmaz. Bunun dışnda listelerdeki bir çok metodu tupleda da kullanabilirsiniz.
tupleMeyve = ("elma", "armut","muz","çilek")
tupleMeyve(1) = "kivi" # Hatalı ifadedir. SyntaxError: can't assign to function call
print(tupleMeyve[1]) #çıktı-->armut
print(len(tupleMeyve)) #Boyutunu verir. çıktı-->4
print(type(tupleMeyve)) #Tipini verir. çıktı-->
print(tupleMeyve[-2]) #En sondan 2.yi ver.çıktı-->muz
print(tupleMeyve.index("çilek")) #index numarasını verir.çıktı-->3
print(tupleMyve.count("muz")) #tuple da yazılan elemandan kaç tane olduğunu verir.çıktı-->1
print(tupleMeyve[1:2])#1 den 2. index e kadar 2 dahil değil.çıktı-->('armut',) bu çıktının ordaki virgül string ile tuple ayrımı anlaşılması içindir.