
Strings
Bu makalemizde metinsel değişken tipi(string) üzerinde duracağız. Çeşitli örnekler ile metinsel bir değişken ile neler yapabileceklerimizi öğreneceğiz. Hadi başlayalım.
1-) Metin içerisindeki bir karaktere erişmek
Python'da oluşturmuş olduğunuz metinsel değişkenlerin içerisindeki karakterlere köşeli parantezleri("[ ]") kullanarak çok rahatça erişim sağlayabilirsiniz. Örneğin;
sebze = "brokoli"
karakter = sebze[2] # sebze isimli degiskenin 2. index'indeki degeri karakter degiskenine atadik.
print karakter
Çıktı = o
Index'in 0'dan başladığını göz önünde bulundurursak; Index değerine göre veri atamaları yukarıdaki şekildeki gibi olacaktır.
karakter = sebze[0] # b
karakter = sebze[1] # r
karakter = sebze[2] # o
karakter = sebze[3] # k
.
.
2-) len fonksiyonu
len fonksiyonu, bizlere bir string içerisindeki karakter uzunluğu vermektedir. Örneğin;
sebze="brokoli"
print len(sebze)
Çıktı = 7
len fonksiyonu kullanarak rahatça bir metnin son karakterine erişebileceğimizi farketmiş miydiniz?
sebze="brokoli" # Değişkenimizi tanımladık
uzunluk = len(sebze) # Uzunluğumuzu bir değişkene atadık
son_karakter = sebze[uzunluk - 1] # Yukarıda öğrendiğimiz bilgilerden son karaktere eriştik ve değişkenimize atadık
print son_karakter
Çıktı = i
Örnek - 1
For döngüsü ile stringteki bütün karakterlere nasıl erişeceğimizi görelim.
sebze="brokoli"
for karakter in sebze:
print karakter
Çıktı:
b
r
o
k
o
l
i
Örnek - 2
Yukarıda for ile yapmış olduğumuz kelimedeki karakterleri yazdırma işleminin while ile nasıl uygulandığına bakalım.
sebze = "brokoli"
index = 0
while index < len(sebze):
karakter = sebze[index]
print karakter
index = index + 1
String'i parçalamak(String slices)
Python'da bir string'i parçalamanın şematize edilmiş halini görelim.
# Basite indirgediğimiz de şu örnekle bütün işlemi açıklayabiliriz.
metin[baslangic_degeri : bitis_degeri]
Örnek - 3
Bir metni parçalamak için ihtiyacımız olan tek şey string türünde bir değişkenimizin/verimizin olmasıdır. Metnimize(string değişkenimize) sahip olduğumuz sürece köşeli parantezleri "[]" kullanarak işlem yapabiliriz.
metin = "Caylak Yazilimci"
# Köşeli parantez içerisine yazdığımız değerler dahildir.
print metin[0:6] # string in 0 ile 6 aralığındaki değerini alır.(0 ve 6 dahil)
print metin[2:] # 2. indexten itibaren stringi bütünüyle alır
print metin[7:16]
print metin[:10] # 0. indexten 10. index'e kadar string'i parçalayacaktır.
# Çıktılarımız aşağıdaki gibi olacaktır.
Caylak
ylak Yazilimci
Yazilimci
Caylak Ya
Upper/Lower Fonksiyonları
Upper ve lower fonksiyonlarını Python'da metinler üzerinde büyük/küçük harf değişikliği yapmak adına kullanırız. Zaman zaman çok işimize yarayacak olan bu fonksiyonların nasıl kullanıldığına bir göz atalım.
kelime = 'Caylak Yazilimci'
print kelime.upper() # metni büyük harfe çevirir
print kelime.lower() # metni küçük harfe çevirir
# Çıktı
CAYLAK YAZILIMCI
caylak yazilimci
Find Fonksiyonu
Find fonksiyonu sayesinde bir metin içerisinde aradığımız karakterin kaçıncı indexte olduğunu bulabiliriz. Gelin hep beraber nasıl uygulandığına bir göz atalım.
Hatırlatma: Find fonksiyonu bize integer(sayısal) bir değer döndürür.
metin = "Caylak"
print metin.find('y') # metin içerisinde 'y' nin indexini arıyoruz
print metin.find('la') # metnin içerisinde 'la' nın indexini arıyoruz, burada indexi l'nin indexi(3) olarak geri döndürecektir.
print metin.find('a',3) # 3. indexten başlayarak metin içerisinde a'yı tarayacaktır.
print metin.find('a',1,3) # 1. index ile 3. index dahil olmak üzere aradaki metinde 'a' yı arayacaktır.
print metin.find('b') # eğer aradığınız veri metinde yoksa -1 sonuç olarak döndürülecektir.
# Sırasıyla çıktılar:
2
3
4
1
-1
in Operatörü
in operatörü boolean tipinde bir operatördür. Bu operatörün işlem yapabilmesi için iki değere ihtiyacı vardır ve geriye "True" ya da "False" bir sonuç döndürür.
sebze = 'muz'
print 'm' in sebze
print 'a' in sebze
# Çıktı (sırasıyla)
# True
# False
Basit bir örnekle in operatörünü inceledik. String türündeki değişkenler için en yaygın olarak kullanılan terimlere ve fonksiyonlara değindik. Örnekler ile detaylı bir şekilde Stringsleri ilerleyen zamanlarda inceleyeceğiz.