Python String Değişkenler
Python'da string (metin, yazı vb.) ifadeler tırnak (") ya da üst ayraç (') işareti arasında tanımlanmış ifadelerdir. Bir harften ya da harfler dizisinden oluşabilir.
Bu tarz değişkenleri print() fonksiyonu kullanarak ekrana yazdırabilirsiniz:
PYTHON Kodu
print("Merhaba")
print('Merhaba')
Bir Değişkene String Değer Atamak
Bunun için bir değişken yazın, eşittir işareti kullanın, ardından string ifadeyi yazın.
PYTHON Kodu
a = "Merhaba"
print(a)
Çok Satırlı Değer Yazmak
Art arda üç tırnak ("""""") kullanarak birden fazla satır içeren değerler yazabiliriz. İfadeyi tamamlamak için yine üç tırnak kullanırız.
PYTHON Kodu
a = """Burada
birkaç satırlı bir
değişken görüyorsunuz!"""
print(a)
Yukarıdaki örnekte üç tane üst ayraç (''') da kullanılabilir.
String Aynı Zamanda Bir Harf Dizisidir
Birçok programlama dilinde olduğu gibi Python dilinde de string değerler harfleri ifade eden küçük parçalara ayrılırlar. Ancak Python, C# daki gibi char değişkenine sahip değildir. Sonuçlar da string olacaktır.
String dizisindeki bir elemana ulaşmak için köşeli parantezden faydalanılır.
PYTHON Kodu
a = "Merhaba Dünya!"
print(a[1]) # e harfini verir
Metnin Bir Kısmını Elde Etmek
Bir string ifadenin belli bir kısmını alabilirsiniz. Bunun için köşeli parantez içinde kesme işleminin başlayacağı pozisyonu ve kaç karakter alınacağı belirtilmelidir.
PYTHON Kodu
b = "Merhaba Dünya!"
print(b[2:5])
Yukarıdaki kod çalıştırıldığı zaman derleyici ekrana rha yazdıracaktır. r harfi dizinin 2. elemanıdır (ilk eleman 0 ile belirtilir). İki noktadan sonra belirtilen 5 ise kaçıncı pozisyona kadar eleman ekleneceğidir. 5 dahil değildir. Bu durumda r = 2, h = 3, a = 4 olduğu için uygulama rha şeklinde bir çıktı verecektir.
Bu işlemi tersten de yapmamız mümkün. Bunun için karakter uzunluğundan kaç harf geride olduğu ve kaça kadar gideceği yine köşeli parantez içinde belirtilir.
PYTHON Kodu
b = "Merhaba Dünya!"
print(b[-5:-2])
Kod çalıştırıldığı zaman ekrana üny yazdırır. "Merhaba Dünya!" ifadesinin karakter uzunluğu 14'tür. -5. karakter 14 - 5 = 9. karakterdir (ü). -2. karakter ise 14 - 2 = 12. karakterdir. Bu "a" karakteridir. Ancak a karakteri dahil edilmeyecektir. Bu durumda -5 = ü, -4 = n, -3 = y olmak üzere derleyici üny harflerini yazdıracaktır.
String Karakter Uzunluğunu Bulmak
len() fonksiyonu ile bir string değerin kaç karakterden oluştuğunu elde edebiliriz.
PYTHON Kodu
a = "Merhaba Dünya!"
print(len(a)) # 14
String Yardımcı Fonksiyonları (Metotları)
Python, stringlerle işlemlerinizde kullanabileceğiniz birçok fonksiyon içerir. Bunlardan bazıları:
Fonksiyon | Tanım | Python Kodu | Çıktı |
---|---|---|---|
strip() | Boşlukları temizler | a = " Merhaba Dünya! " a.strip() |
"Merhaba Dünya!" |
lower() | Harfleri küçültür | a = "Merhaba Dünya!" a.lower() |
"merhaba dünya!" |
upper() | Harfleri büyütür | a = "Merhaba Dünya!" a.upper() |
"MERHABA DÜNYA!" |
replace() | Harfleri değiştirir | a = "Merhaba Dünya!" a.replace("M", "N") |
"Nerhaba Dünya!" |
split() | Dizeye dönüştürür | a = "Merhaba Dünya!" a.split(" ") |
["Merhaba","Dünya!"] |
Not: replace() fonksiyonunda parantez içinde ilk olarak değişecek, sonra yerine getirilecek belirtilir. split() fonksiyonunda parantez içerisinde dizeye dönüştürürken metni bölecek harfe yer verilir.
Bir Değer Olup Olmadığını Sorgulamak
Bir ifadenin veri içerisinde geçip geçmediğini anlamak için in ve not in kullanılır.
Python Kodu
txt = "Akdeniz Bölgesinde dağlar denize paraleldir"
x = "paralel" in txt
print(x)
y = "paralel" not in txt
print(y)
Yukarıdaki kod çalıştırıldığında x'in True, y'nin False olduğu görülecektir.
String Değerleri Birleştirmek
Metin içeren iki veriyi birleştirmek için artı (+) kullanılır.
Python Kodu
a = "Merhaba"
b = "Dünya!"
c = a + " " + b
print(c)
String Biçimlendirme (Format)
Daha önceki derslerimizde metin içeren bir veri ile sayı içeren verinin artı (+) kullanılarak birleştirilemediğinden bahsetmiştik. Bu işlemi gerçekleştirmek için format() fonksiyonundan faydalanılabilir.
format() yöntemi ile kıvrımlı parantez {} ile ifade edilen yer tutuculara değerler yerleştirir.
Python Kodu
yas = 36
metin = "Benim adım Murat, ve ben {} yaşındayım!"
print(metin.format(yas))
Bu şekilde farklı türlerde sınırsız değeri metin içerisinde kullanabiliriz.
Python Kodu
adet = 3
urun = 567
fiyat = 49.95
siparis = "Ben {} parça {} numaralı üründen {} TL karşılığında alacağım."
print(siparis.format(adet, urun, fiyat))
Eğer metinde kullanmak istediğimiz değerlerin doğru sıra ile yansıtılmasını istersek {} yerine {0}, {1}, {2}... gibi numaralandırarak yazabiliriz.
Python Kodu
adet = 3
urun = 567
fiyat = 49.95
siparis = "Ben {0} parça {1} numaralı üründen {2} TL karşılığında alacağım."
print(siparis.format(adet, urun, fiyat))
Yukarıdaki örnekte {0} = 3, {1} = 567, {2} = 49.95'i ifade etmektedir.
Kaçış (Escape) Karakteri ()
Metin yazarken bazı karakterlerin kullanılması sorun yaratabilir. Örneğin içinde üst ayraç (') geçen "Ankara'nın" kelimesini tek tırnak ile ifade ettiğimizde derleyici hata verir.
Söz Dizimi Hatası
metin = 'Ankara'nın'
Bu gibi durumlarda kaçış işareti () kullanarak derleyicinin oradaki karakteri dikkate almaması sağlanmalıdır. Yukarıdaki örneği şu şekilde yazarsak hatayı düzeltmiş oluruz:
PYTHON Kodu
txt = 'Ankara'nın'
Karakter | Anlamı |
---|---|
' | Üst ayraç |
\ | Ters eğik çizgi |
n | Yeni satır |
r | Giriş (enter) |
t | Sekme |
b | Geri tuşu |
Python'da daha birçok string fonksiyonu var. Sonraki derslerimizde yeri geldikçe bunlardan bahsedeceğiz.
Kaynak