PYTHON STRİNG METOTLARI – 1 | PYTHON DERSLERİ

0
366

Bu yazımızda sık kullanılan string metotlarını göreceğiz. Yeni başlayanların ufkunu genişletmesi açısından metotların bazılarını fonksiyon olarak da yazacağım.

(Önemli: Fonksiyonlar string metotlarının çalışma mantığını temel olarak göstermek amacıyla yazılmıştır.)

Bu bölümde anlatılan metotlar: capitalize, center, count, endswith, find. (Alfabetik sıraya göre devam edilecektir.)

CAPİTALİZE

İşlevi: Karakter dizisi içindeki betist ilk harfi büyük harfe diğer harfleri küçük harfe çevirir.

Kullanımı: string.capitalize()

Örnek:

------------------------
ornek = "bU BiR DeneMe YAzıSıDır."
sonuc = ornek.capitalize()
print(sonuc)
 ------------------------
Çıktı -> 
"Bu bir deneme yazısıdır."

Bu metodun eksikleri:

  1. ‘I’ harfi küçültüldüğünde ‘i’ harfine çevrilmektedir.
  2. ‘İ’ harfi küçültüldüğünde bozuk sonuç vermektedir.
  3. Karakter dizisinin ilk harfi ‘i’ olduğunda harf ‘İ’ değil ‘I’ harfine çevrilmektedir.

KOD

 ------------------------
def capitalize(string):
    # Klavyedeki harfleri tanıttık
    kucukHarfler = ('a','b','c','ç','d','e','f','g','ğ','h','ı','i','j','k','l',
                    'm','n','o','ö','p','q','r','s','ş','t','u','ü','v','w','x',
                    'y','z')
    buyukHarfler = ('A','B','C','Ç','D','E','F','G','Ğ','H','I','İ','J','K','L',
                    'M','N','O','Ö','P','Q','R','S','Ş','T','U','Ü','V','W','X',
                    'Y','Z')

    # Karakter dizisini, üzerinde değişiklikler yapabilmek için listeye çevirdik
    stringList = list(string)

    # Karakter dizisinin ilk elemanını büyük harfe çevirdik
    for y in range(32):
        if(stringList[0] == kucukHarfler[y]):
            stringList[0] = buyukHarfler[y]
        else: pass

    # Karakter dizisinin diğer elemanlarını küçük harfe çevirdik
    for i in range(1, len(stringList)):
        for y in range(32):
            if(stringList[i] == buyukHarfler[y]):
                stringList[i] = kucukHarfler[y]
            else: pass

    # Düzenlediğimiz listeyi tekrar karakter dizisine çevirdik
    string = ''.join(stringList)
    return string

string = 'bU BiR DeneMe YAzıSıDır.'
yeniString = capitalize(string)
print(yeniString)
 ------------------------
Çıktı ->
"Bu bir deneme yazısıdır."

CENTER

İşlevi: Karakter dizisini, gönderilen parametre ile istenilen miktara kadar sağdan ve soldan doldurur.

Kullanımı: string.center(uzunluk, karakter)

uzunluk = Döndürülecek olan string’in uzunluğudur. Girilmesi zorunludur. Integer değer girilmelidir.

karakter: Karakter dizisine eklenmesi istenen karakterdir, tek karakter girilmelidir. Opsiyoneldir. Varsayılanı boşluk (” “) karakteridir.

Örnek:

------------------------
ornek = "python"
sonuc = ornek.center(12)
print(sonuc)
sonuc = ornek.center(12,"*")
print(sonuc)
 ------------------------
Çıktı ->
"   python   "
"***python***"

Gönderilen uzunluk değeri 12 ve karakter dizimizin uzunluğu (“python”) 6 olduğundan sola 3 sağa 3 karakter ekler. Aslında girdiğimiz uzunluk değeri programın verdiği sonucun uzunluğudur.

KOD

------------------------
def center(ornek, uzunluk, karakter=" "):
    # Karakter dizisini, üzerinde değişiklikler yapabilmek için listeye çevirdik
    ornekList =  list(ornek)

    # Sağa ve sola ne kadar karakter ekleneceğini hesapladık
    eklenecekUzunluk = int((uzunluk - len(ornekList))/2)
    
    # Sağa ve sola karakterleri ekledik
    for i in range(eklenecekUzunluk):
        ornekList.insert(0,karakter)
        ornekList.append(karakter)
        
    # Düzenlediğimiz listeyi tekrar karakter dizisine çevirdik
    ornek = ''.join(ornekList)
    return ornek

ornek = "python"
sonuc = center(ornek, 12)
print(sonuc)
sonuc = center(ornek, 12,"*")
print(sonuc)
 ------------------------
Çıktı ->
"   python   "
"***python***"

COUNT

İşlevi: Gönderilen parametrenin karakter dizisinde kaç tane olduğunu döndürür. Büyük küçük harfe duyarlıdır.

Kullanımı: string.count(değer, başlangıç, bitiş)

değer: Karakter dizisinde aranacak değerdir. Girilmesi zorunludur. String girilmelidir.

başlangıç: Aramaya başlanılacak konumdur. Opsiyoneldir. Varsayılanı 0’dır yani karakter dizisinin başıdır. Integer değer girilmelidir.

bitiş: Aramanın biteceği konumdur. Opsiyoneldir. Varsayılanı karakter dizisinin sonudur. Integer değer girilmelidir.

Örnek:

------------------------
ornek = "Bu bir deneme yazısıdır."
sonuc = ornek.count('e')
print(sonuc)
print(ornek[0:9])
sonuc = ornek.count('e',0,9)
print(sonuc)
 ------------------------
Çıktı ->
3
"Bu bir de"
1

Program ilk kullanımda başlangıç ve bitiş parametresi girmediğimizden dolayı bütün karakter dizisinde ‘e’ harfini aradı ve üç tane buldu. Sonrasında karakter dizisinin 0 ve 9. indisleri arasında ‘e’ harfini aradı ve bir tane buldu.

------------------------
ornek = "Bu python bir deneme python yazısıdır."
sonuc = ornek.count("python")
print(sonuc)
 ------------------------
Çıktı ->
2

Sadece harf değil kelime araması da yapılabilir.

ENDSWİTH

İşlevi: Karakter dizisinin gönderilen parametre ile bitip bitmediği kontrol edilir, yanıt olarak bool tipinde doğru ‘True’ ya da yanlış ‘False’ döndürür.

Kullanımı: string.endswith(değer, başlangıç, bitiş)

değer: Kontrol edilecek değerdir. Girilmesi zorunludur. String girilmelidir.

başlangıç: Kontrole başlanılacak konumdur. Opsiyoneldir. Integer değer girilmelidir.

bitiş: Kontrolün biteceği konumdur. Opsiyoneldir. Integer değer girilmelidir.

Örnek:

------------------------
ornek = "Bu bir deneme yazısıdır."
sonuc = ornek.endswith(".")
print(sonuc)
 ------------------------
Çıktı ->
True

Karakter dizisi ‘.’ ile bittiğinden sonuç olarak True değerini aldık.

------------------------
ornek = "python"
print(ornek[2:6])
sonuc = ornek.endswith("on", 2, 6)
print(sonuc)
 ------------------------
Çıktı ->
"thon"
True

Bu örnekte karakter dizisinin tamamının değil sadece bir kısmının ‘on’ ile bitip bitmediğini kontrol ettik ve doğru olduğunu gördük.

FİND

İşlevi: Gönderilen parametreyi istenilen karakter dizisi içerisinde arar; bulduğu ilk indis numarasını döndürür, eğer bulamazsa ‘-1’ değerini döndürür.

Kullanımı: string.find(değer, başlangıç, bitiş)

değer: Aranacak değerdir. Girilmesi zorunludur. String girilmelidir.

başlangıç: Aramaya başlanılacak konumdur. Opsiyoneldir. Varsayılanı 0’dır. Integer değer girilmelidir.

bitiş: Aramanın biteceği konumdur. Opsiyoneldir. Varsayılanı karakter dizisinin sonudur. Integer değer girilmelidir.

Örnek:

------------------------
ornek = "Bu bir deneme yazısıdır."
sonuc = ornek.find('e')
print(sonuc)
 ------------------------
Çıktı ->
8

Programı çalıştırdığımızda ‘e’ harfini ilk olarak 8. indiste buldu.

KAYNAKÇA

docs.python

w3schools

 

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz