python dersleri

Python Tuple(Demetler) ve Metotları

Merhaba Arkadaşlar,
Mobilhanem.com da Python Dersleri serisinin bir dersinde yine beraberiz bu derste Tuple(Demet) ve Metotlarını işleyeceğiz umarım sizler için faydalı olur.Daha önceki derslerde Python da Veri Türleri dersinde Tuple veri türünün ne olduğunu ve nasıl kullanıldığına değinmiştik eğer o yazıyı okumadıysanız buradan bakmanıza fayda var. Keyifli okumalar

Tuple(Demet) Nedir?

Demetlerin ne olduğunu açıklarsak; Demetler birden fazla veri türünü bir arada bulundurabilen virgüllerle veya parantez ile gösterilen immutable(değiştirilemeyen) veri tipleridir.

Tuple Nasıl Kullanılırlar

Hemen bir örnekle gösterelim;

demet = ("Python","Java","Ruby","JavaScript")
print(demet)
('Python', 'Java', 'Ruby', 'JavaScript')

Veya virgüllerle de gösterebiliriz;

demet = "Python","Java","Ruby","JavaScript"
print(demet)
('Python', 'Java', 'Ruby', 'JavaScript')

Ama burada dikkat etmemiz gereken çok önemli bir nokta var eğer virgül kullanacaksak ve demet bir elemanlı ise sonuna virgül koymadığımız zaman yorumlayıcı String(karakter dizisi) şeklinde algılar.
Hemen göstereyim;

demet = "Python"
type(demet)
<class 'str'>

Bide virgül kullanarak deneyelim;

demet = "Python",
type(demet)
<class 'tuple'>

 

Tuple Erişimi Nasıl?

Demetler de de elamanlara ulaşmak listelerde olduğu gibidir.

demet = "Python","Java","Ruby","C#","JavaScript"
demet[2]
Ruby

Başka bir örnek daha yapalım;

demet[1:4]
('Java', 'Ruby', 'C#')

Tuple(Demet) Metotları

Python derslerinin önceki derslerinde tuple  immutable(değiştirilemez) veri tipi olduğunu söylemiştim bu yüzden tuple de ekleme,silme vb. işlemler yapamıyoruz isterseniz hemen bir örnekle gösterelim;

demet = ("Python","Java","Ruby","JavaScript","Python","Java","python")
demet[1] = "PHP"
print(demet)

Karşımıza şu şekilde bir sıkıntı gelecektir.’tuple’ object does not support item assignment” tuple nesnesi üye atamasını desteklememektedir.

Traceback (most recent call last):

  File "C:/Users/Cahit/Desktop/Mini/tuple.py", line 2, in <module>

    demet[1] = "PHP"

TypeError: 'tuple' object does not support item assignment

 

dir() fonksiyonu ile metotlarını sıralayalım;

 

['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__',
 '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__',
 '__getnewargs__', '__gt__', '__hash__', '__init__', '__iter__', '__le__',
 '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', 
'__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__',
 '__subclasshook__', 'count','index']

 

__X__ şeklindeki metotlar özel metotlar olduğu için şimdilik onlara bakmayacağız.

Index Metodu:

index metodu bir tuple da aranılan elemanın kaçıncı index de olduğu bulan metottur.
Kullanımı ise şu şekildedir;

demet = ("Python","Java","Ruby","JavaScript")
demet.index("Ruby")
2

Şimdi biz eski bilgilerimizle  tuple içinde bir eleman olup olmadığı sorgulayan uygulamayı yapalım;

demet = ("Python","Java","Ruby","JavaScript","Python","Java","python")

eleman = input("Eleman Gir : ")
if eleman in demet:
print("Aradığınız Elemen listede {}. index te bulunuyor".format(demet.index(eleman)))
else:
print("Aradığınız Eleman listede bulunmuyor ")

Eleman Gir : Python
Aradığınız Elemen listede 0. index te bulunuyor


Eleman Gir : Php
Aradığınız Eleman listede bulunmuyor

 

Count Metodu:

Count metodu tuple içinde aynı elamandan dan kaç tane olduğunu bulan metottur.

demet = ("Python","Java","Ruby","JavaScript","Python","Java","python")
demet.count("Python")
2

 

Burada dikkat etmemiz gereken şey “Python” isimli elemanın listede üç defa geçmesine rağmen iki sonucunu almamızdır. Sebebi ise Python’nun büyük küçük harf duyarlığının olmasıdır böylece bunu da belirtmiş olduk.
Peki harf uyumluluğu olmadan nasıl arama yapabilirim diyorsanız bu işlemleri de ilerde işleyeceğimiz meta karakterleri ile yapıyoruz.

Mobilhanem.com da Python da Tuple(Demet) ve Metotları  dersinin  sonuna geldik bir sonraki yazımızda Python da Dictionary(Sözlük) ve Metotlarını işleyeceğiz. Eksik yada yanlış gördüğünüz yada anlamadığınız yerler için  sayfanın altında yorum bölümünden yada soru-cevap kısmından sorabilirsiniz.

Bütün Python derslerine buradan ulaşabilirsiniz.

200

Cahit İşleyen

Data Scientist at @Embedica.ai
Python ve Linux sever.
Çay tiryakisi

10 Yorum

  • demet = (“Python”,”Java”,”Ruby”,”JavaScript”)
    demet.index(“Ruby”
    2
    Ruby karakterinin sonuna parantez koymayı unutmuşsunuz cahit bey,
    kafa karışıklığına sebebiyet vermesin.

  • Elinize sağlık, index kullanırken birden fazla eleman olmasına rağmen ilk elemanının sıra numarasını veriyor. aynı isimdeki diğer elemanların index sırasını nasıl bulabiliriz.

  • Merhaba,
    Demet=(“Ahmet”, “Mehmet”, “Veli”, liste) diyebilir miyiz? Buradaki amacım liste değişkenini bir liste olarak eklemek ve ileride listenin içeriğini değiştirdiğimde Demet içerisindeki değerini de değiştirmek.
    Anladığım kadarı ile demetler bütün programda hiç değişmeyecek değerler için kullanılıyor. Bunun içine kullanıcı adı ve hakları gibi programa ilk başlarken girilecek ama sonra değişmeyecek bilgi eklemek amacındayım.

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?