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:
- ‘I’ harfi küçültüldüğünde ‘i’ harfine çevrilmektedir.
- ‘İ’ harfi küçültüldüğünde bozuk sonuç vermektedir.
- 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