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.